У меня есть прослушиватель событий перемещения мыши, прикрепленный к моему холсту. Но поверх моего холста есть div с более высоким z-индексом, в нем есть некоторые кнопки меню.Слушатель событий на холсте за другим элементом
Проблема, с которой я сталкиваюсь, я хочу, чтобы событие перемещения мыши продолжало активироваться, когда мышь находится над элементом меню, который находится над элементом холста.
В настоящее время он действует так, как будто мышь больше не находится поверх холста, потому что элемент меню имеет приоритет из-за порядка z-индекса.
Есть ли способ заставить слушателя этого события игнорировать любые элементы, которые мешают?
Мой код:
var canvas = new function(){
var self = this
self.outputMouseData = function(evt,el){
var pos = mouse.relativePosition(evt,el);
el.ctx.clearRect(0,0,el.width,el.height);
el.ctx.fillStyle = "white";
el.ctx.font = "bold 16px Arial";
el.ctx.fillText(pos.x+' | '+pos.y, el.width-150,el.height-10);
}
}
elements.addEvent(foreground,'mousemove',
function(evt){ canvas.outputMouseData(evt,foreground); }
);
Мой HTML
<div class="parent">
<canvas id="canvas"></canvas>
<div class="menu">Menu output</div>
</div>
Родитель относительно позиционированный. Холст и меню являются абсолютными, но меню - z-index'd поверх холста.
Если наложение является дочерним элементом, вы можете использовать addeventlistener с истинным в качестве третьего параметра, он должен активировать родительское событие. – David
Canvas 'не имеет дочерних элементов. Меню позиционируется абсолютным внутри родителя, который является относительным. – Sir
- sry это предназначалось для добавления оценок. Ну, я вижу, у вас есть решение! – David