yishuixs 2015-11-14 08:21 采纳率: 100%
浏览 1905
已采纳

jQuery的mouseover和mouseenter的具体区别是什么?

如下一段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里面吗?

  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2015-11-14 09:02
    关注

    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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能