任何底层div上的鼠标事件(不选择class / id)

时间:2013-10-26 18:11:50

标签: jquery jquery-selectors mouseevent

我有一个带id=1的透明div,我需要将鼠标事件传递给所有底层div(无论class / id),同时保持透明div对其自身鼠标事件的反应。

因此,按类/ ID选择底层div,pointer-events: none / display: none不是选项。

$('#1').mouseenter(function() {
    $(this).css('background','rgba(0, 120, 255, 0.3)');
});
$('#a').mouseenter(function() {
   $(this).css('background', 'red');
});
$('#1').mouseleave(function() {
    $(this).css('background','rgba(0, 120, 255, 0.2)');
});
$('#a').mouseleave(function() {
   $(this).css('background', '#555555');
});

http://jsfiddle.net/B6SAy/

如何以类/ id独立的方式实现这一目标?

如果它意味着什么,我同时只有1个底层div,但该div可以有任何class / id。

1 个答案:

答案 0 :(得分:-3)

您可以尝试mouseover(),mouseout()和/或hover(),而不是mouseenter()和mouseleave()。这些链接可能有所帮助:

StackOverflow: Jquery mouseenter() vs mouseover()

Ben Nadel: jQuery Events: MouseOver / MouseOut vs. MouseEnter / MouseLeave

您还可以在api.jquery.com查看每个功能的文档。