我尝试使用 mousemove 获取鼠标相对于元素的位置。它工作正常,但是当鼠标悬停一个子元素时,坐标是相对于这个子元素的。我想要鼠标相对于父 div 的位置,而不是孩子。
例如,请参阅此 JSFiddle。
var object = document.getElementsByClassName('object'),
scene = document.getElementById('scene');
function initMove() {
for(var i=0; i<object.length; i++) {
object[i].addEventListener("mousemove", function(event) {
//event.stopPropagation();
return false;
}, false);
}
scene.addEventListener("mousemove", function (event) {
//event.stopPropagation();
//event.currentTarget;
moveX = event.offsetX;
moveY = event.offsetY;
console.log(moveX + ' + ' + moveY);
}, false);
}
function init() {
initMove();
document.onselectstart = function(){ return false; }
};
init();
添加event.stopPropagation()
子项不返回任何数据。而且我不确定如何event.currentTarget
工作。
我不能使用 mouseenter 或其他所有仅鼠标控件,因为我希望它是触摸友好的(通过用 touchmove 替换 mousemove)。
有任何想法吗?