Я пытаюсь получить положение мыши относительно элемента с помощью 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).
Есть идеи?