我尝试使用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 或其他仅适用于鼠标的控件,因为我希望这个功能对触摸屏友好(通过将 mousemove 替换为 touchmove)。
有何建议?