实例讲解jquery中mouseleave和mouseout的区别

前端之家收集整理的这篇文章主要介绍了实例讲解jquery中mouseleave和mouseout的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文详细的介绍了关于jQuery中mouseleave和mouSEOut的区别,分享给大家供大家参考,具体内容如下 很多人在使用jQuery实现鼠标悬停效果时,一般都会用到mouSEOver和mouSEOut这对事件。而在实现过程中,可能会出现一些不理想的状况。 先看下使用mouSEOut的效果

先看下使用mouSEOut的效果

SEOut事件↓
第二行
第三行

第一行第二行第三行我们发现使用mouSEOut事件时,鼠标只要在下拉容器#list里一移动,就触发了hide(),其实是因为mouSEOut事件是会冒泡的,也就是事件可能被同时绑定到了该容器的子元素上,所以鼠标移出每个子元素时也都会触发我们的hide()。 从jQuery 1.3开始新增了2个mouse事件,mouseenter和mouseleave。与mouSEOut事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。 我们来看一下mouseleave事件的效果

第二行
第三行

第一行第二行第三行mouseleave和mouSEOut事件各有用途,因为事件冒泡在某些时候是非常有用的 解决div mouSEOut事件冒泡的问题 解决的办法是,使用jquery的bind方法 如:现在有一个div对象需要监听他的鼠标事件

当鼠标移动到ID为searchSort的Div上时,显示下面的div。当鼠标移出下面的div时,隐藏div JS为:

SEOver(function() { var offset = $(this).offset(); sortList.css("left",offset.left); sortList.css("top",offset.top+20); sortList.show(); }); //关键的一句,绑定Div对象的mouseleave事件 sortList.bind("mouseleave",function() { $(this).hide(); }); });

根据上述讲解,模拟实现下拉效果: 1.不论鼠标指针离开被选元素还是任何子元素,都会触发 mouSEOut 事件。

2.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。

Box">

<script type="text/javascript">
$(".sel_Box").click(function(event){
if(event.target.id == 'sel_dept'){
$("#sel_dept_sh").show(); //显示下拉框
$("#sel_dept_sh p font").click(function(){
$("#sel_dept").val('');
var text = $(this).text();
// alert(text);
$("#sel_dept").val(text).css("color","#000");
$("#sel_dept_sh").hide();
});

}else{
$("#sel_dept_sh").hide();
}

});

$(".sel_Box").bind("mouseleave",function(){//用mouseleave就实现了模仿下拉框的效果
$(this).find(".hide").hide();
});

$(".sel_Box").bind("mouSEOut",function(){//而mouSEOut则不行,什么时候都会触发
$(this).find(".hide").hide();
});

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文链接:https://www.f2er.com/jquery/50112.html
jquerymouseleavemouseout

猜你在找的jQuery相关文章