jQuery mouseover,mouseout事件多次執行的問題處理


控制鼠標移上移下事件,在使用Jquery 的mouseover,mouseout事件時,元素內部含有其它元素,會造成該事件多次的觸發的情況。

問題解析

在用到mouseovermouseout事件來作為事件觸發的條件,單一元素可以正常使用,但是如果我們用做觸發的元素內部有其他的元素的時候當鼠標移上的時候會反復 的觸發mouseovermouseout事件。因為內部元素在鼠標移上的時候會向它的父對象派發事件,所以外面元素相當於也觸發了mouseover 事件。

解決方法

jquery(需要版本號大於1.2.2)中修復上述問題。
將mouseover,mouseout 替換 mouseenter和mouseleave事件,這是IE特有的函數,使用jquery就很好的解決了兼容問題。函數的原理當第一次鼠標進入節點區域時觸發,以后在節點區域內(子節點間)移動時不觸發。
綁定示例:

$('div').bind("mouseenter",function(){ // code }); 
$('div').bind("mouseleave",function(){ // code}); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM