jquery鼠标离开(mouseout)时,会处理一个事务,但是怎么排除鼠标在子元素时不影响
jquery中有mouseout离开时 $(".a").hover(function(){ $(this).find(".a1").css("display","block"); }); $(".a").mouseout(function(){ $(this).find(".a1").css("display","none"); });
以上,当鼠标其子元素时,也相当于离开了当前div,怎么才能避免呢?
可以使用 jQuery 事件 - mouseleave() 方法 达到这个效果。
定义和用法
当鼠标指针离开元素时,会发生 mouseleave 事件。
该事件大多数时候会与 mouseenter 事件一起使用。
mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数。
注释:与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。请看下面例子的演示。
语法
$(selector).mouseleave()
实例
不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
被触发的 Mouseout 事件:
被触发的 Mouseleave 事件:
楼上就一个函数的事情有必要这样么?代码改成如下
$(".a").hover(
function(){
$(this).find(".a1").css("display","block");
},
function(){
$(this).find(".a1").css("display","none");
}
);或者
$(".a").mouseover(function(){
$(this).find(".a1").css("display","block");
});
$(".a").mouseleave(function(){
$(this).find(".a1").css("display","none");
});










