我有 3 个元素,它们都是兄弟姐妹,但它们彼此重叠。我想在这些上使用 mouseenter/mouseleave,但是,它们没有按预期工作。(只有最上面的元素正在触发 mouseenter/mouseleave)。是否有处理兄弟元素的原生 jQuery 方法?我想远离检查每个 mousemove 事件上绑定的每个元素。
----------- OUTER ELEMENT --------------
| |
| ------- ------- |
| | A | | B | |
| ------- ------- |
| |
----------- OUTER ELEMENT --------------
定义为html:
<div class="outerelement"></div><!-- position absolute, etc -->
<div class="a"></div><!-- position absolute, etc -->
<div class="b"></div><!-- position absolute, etc -->
javascript:
$('div').on('mouseenter mouseleave', function(e) {
switch (e.type) {
case 'mouseenter':
$(this).addClass('hover');
break;
case 'mouseleave':
$(this).removeClass('hover');
break;
}
});
最终发生的是 mouseenter/leave 在正确超过 A/B 时触发,但它应该为外部元素触发,但它不是......