Если у меня есть три divs, уложенных друг на друга, и я хочу прослушать нижнюю часть div на mousemove, тогда я получу только это событие, когда я на самом деле поверх только низ самый элемент. Если другой элемент лежит частично поверх элемента, который я слушаю, это событие не будет выбрано для этого элемента после того, как я переместите указатель мыши над другим элементом (который охватывает только мой элемент, я все еще над исходным элементом, но теперь также над новым).Прослушивание событий на сложенных элементах
Я создал jsfiddle, чтобы отобразить мою дилемму: https://jsfiddle.net/maffelu/o5pmxrgz/2/
HTML:
<div id="one">
</div>
<div id="two">
</div>
<div id="three">
</div>
CSS (штабелирования дивы немного друг на друга):
div {
width: 200px;
height: 200px;
position: absolute;
border: 1px #000 solid;
}
#one {
top: 20px;
left: 20px;
background: red;
}
#two {
top: 50px;
left: 50px;
background: green;
}
#three {
top: 80px;
left: 80px;
background: blue;
}
Javascript :
document.getElementById('one').addEventListener('mouseover', function(e) {
console.log('one');
});
document.getElementById('two').addEventListener('mouseover', function(e){
console.log('two');
});
document.getElementById('three').addEventListener('mouseover', function(e){
console.log('three');
});
Я хочу прослушивать mousemove для всех трех разделов отдельно, есть ли способ продолжать слушать, даже если вы технически наводите мышь на свой элемент, который только что накрыт?
, если я понимаю, правильно, это может помочь https://jsfiddle.net/o5pmxrgz/3/ я создал его из этого ответа http://stackoverflow.com/a/23384751/2227526 –
@FastSnail: Это один из способов, но это не жизнеспособное решение для как я не смогу сделать семью событий. Мое реальное приложение имеет отдельные svg-элементы, которые работают отдельно друг от друга. – Maffelu