一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

解决jquery mouseout mouseover 多次执行问题

时间:2016-03-18 编辑:简简单单 来源:一聚教程网

用jquery,mouseout,mouseover,随着鼠标移动,事件被触发了多次,换成js onmouseover,onmouseout也是一样。最终的解决办法是,用jquery,mouseleave代替mouseout;mouseenter代替mouseover。
mouseleave,mouseenter鼠标离开,进入最外层标签时触发事件。
mouseout,mouseover鼠标离开,进入里面标签时触发事件。

1,单个内部元素,无区别


 
 
 
 
$("#test2").mouseleave(function(){ 
 console.log('out'); 
 }).mouseenter(function(){ 
 console.log('in'); 
 }); 
 
 $("#test2").mouseout(function(){ 
 console.log('out'); 
 }).mouseover(function(){ 
 console.log('in'); 
 }); 

上面二代码JS代码分别执行,执行的结果是一样的。mouseover,onmouseover,mouseenter一样,mouseout,onmouseout,mouseleave一样

2,多个内部元素,mouseleave,mouseenter只会执行一次


 
 
     
     
  • test
  •  
     
  • test1
  •  
     
  • test2
  •  
     
  • test3
  •  
     
  • test4
  •  
     
 
 

如果将html代码换成ul这种形势,当鼠标进入,离开div时,mouseleave,mouseenter只会执行一次,而其他的,随着鼠标在ul的每个li之间进行滑动时,都会被执行。

热门栏目