发布于 2011-09-03 00:45:10
当你的目标元素包含子元素时,你会看到这样的行为:
每次鼠标进入或离开某个子元素时,都会触发mouseover
,但不会触发mouseenter
。
$('#my_div').bind("mouseover mouseenter", function(e) {
var el = $("#" + e.type);
var n = +el.text();
el.text(++n);
});
#my_div {
padding: 0 20px 20px 0;
background-color: #eee;
margin-bottom: 10px;
width: 90px;
overflow: hidden;
}
#my_div>div {
float: left;
margin: 20px 0 0 20px;
height: 25px;
width: 25px;
background-color: #aaa;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<div>MouseEnter: <span id="mouseenter">0</span></div>
<div>MouseOver: <span id="mouseover">0</span></div>
<div id="my_div">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
发布于 2013-05-03 23:25:06
尽管它们的操作方式相同,但mouseenter
事件仅在鼠标指针进入所选元素时触发。如果鼠标指针进入任何子元素以及,则会触发事件。
发布于 2011-09-03 00:38:05
请参阅jquery文档页面底部的示例代码和演示:
http://api.jquery.com/mouseenter/
...当指针移入子元素时,mouseover也会触发,而mouseenter仅在指针移入绑定的元素时触发。
https://stackoverflow.com/questions/7286532
复制相似问题