如下一段HTML
<div style="width:300px; height:300px; background:green;">
<p style="width:100px; height:100px; background:red"></p>
</div>
<strong></strong>
如下一段js
$(function(){
$('div').mouseover(function(){
$('strong').html(function(index, value){
return value + 1;
});
});
});
鼠标从外面移入 div时,触发mouseover事件,使strong内容加1,然后移动到p时,居然也加了1;从外面移入p时,也加了1。这是为什么?
p不是在div内部吗,而且我绑定的元素是div,就算鼠标移入了p,怎么可能重新触发了div的mouseover事件?不是一直都在div里面吗?
mouseenter移动进去触发一次,移动到子对象后,再移动到此对象不会触发,
mouseover移动到对象上就会触发,不管是否从子对象移动的
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<div id="dv">父div
<div>子div</div>
</div>
<div id='dvlog'></div>
<script>
$('#dv').mouseenter(function(){$('#dvlog').append('enter<br/>')}).mouseover(function(){$('#dvlog').append('over<br/>')})
</script>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。