jquery如何阻止子元素對應mouseout事件:
mouseout有一個特點,當滑鼠移入子元素的時候,也會觸發此事件,但是在實際應用中這個特點往往不是我們想要的,下面就透過程式碼實例介紹一下如何實現此效果,程式碼實例如下:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <style type="text/css"> #father { width:100px; height:100px; background:red; } #inner { width:50px; height:50px; background:green; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#father").mouseout(function(e){ evt = window.event||e; var obj=evt.toElement||evt.relatedTarget; var pa=this; if(pa.contains(obj)) return false; $(this).hide(); }); }) </script> </head> <body> <p id="father"> <p id="inner"></p> </p> </body> </html
以上程式碼實現了我們的要求,當滑鼠指標移入子p的時候,不會觸發事件,但當滑鼠移出父p的時候會觸發事件,下面接掃實現此效果的過程。
一.實作原理:
原理非常的簡單,就是判斷當滑鼠指標移動的時候,判斷與事件的目標節點相關的節點是否是子元素,如果是子元素,則不觸發事件,如果不是子元素則觸發事件。
二.相關閱讀:
1.mouseout事件可以參考jQuery的mouseout事件一章節。
2.evt = window.event||e可以參考var ev=window.event||ev的功能是什麼章節。
3.toElement屬性可以參閱javascript的toElement事件屬性一章節。
4.relatedTarget屬性可以參考javascript的relatedTarget事件屬性一章節。
5.this可以參考javascript的this用法詳解一章節。
6.contains()函數可以參考jQuery.contains()方法一章節。
7.hide()函數可以參考jQuery的hide()方法一章節。
以上是關於jquery如何阻止子元素對應的mouseout事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!