jQuery常用事件方法——mouseenter、mouseleave、hover方法

jQuery常用事件方法
  • jQuery事件方法与原生Js事件方法名称类似,不需要写on,通过jQuery对象打点调用,括号内参数是事件函数

  • mouseenter()方法:鼠标进入一个元素触发的事件

  • mouseleave()方法:鼠标离开一个元素触发的事件

  • 注意:mouseenter和mouseleave没有事件冒泡,在使用时替换mouseover和mouseout更加合适

下面是代码对比:

<div class="parent">
   <div class="box"></div>
</div>
 <script src="../jq/jquery-1.12.4.min.js"></script>
   <script>
     var $box = $(".box");
     var $parent = $(".parent");
     //对比mouseenter、mouseleave 和 mouseover、mouseout
     // 对比mouseenter、mouseleave 不冒泡
     $box.mouseenter(function(){
        console.log("box mouse in")
      })
     $box.mouseleave(function(){
        console.log("box mouse out")
     })
     $parent.mouseenter(function(){
        console.log("parent mouse in")
     })
     $parent.mouseleave(function(){
        console.log("parent mouse out")
     })

//mouseover、mouseout  冒泡
$box.mouseover(function(){
    console.log("box mouse in")
})
$box.mouseout(function(){
    console.log("box mouse out")
})
$parent.mouseover(function(){
    console.log("parent mouse in")
})
$parent.mouseout(function(){
    console.log("parent mouse out")
})

  • hover()方法:相当于将mouseenter和mouseleave事件进行了合写

    hover(鼠标移上执行的事件函数,鼠标离开执行的事件函数)

//hover() 对mouseenter和mouseleave合并书写
//$box.hover(function () { }, function () { })
$box.hover(function(){
    $box.addClass("big");
},function(){
   $box.removeClass("big")
})

posted @ 2021-03-28 15:08  小白可别不举铁  阅读(374)  评论(0编辑  收藏  举报