jQuery觸發標簽的點擊事件無效


1     <a id="workFrame" href="pages/work.html" target="FrameBox">首頁</a>  
2       
3 $("#workFrame").tigger("click");

上述的代碼,其實挺正常的,但是怎么也觸發不了a標簽的click事件。百度一下,解決方案如下

 

1     <a id="workFrame" href="pages/work.html" target="FrameBox"><span id="aSpan">首頁</span></a>  
2 
3      $("#aSpan").tigger("click");  

 

當然這里有一個問題,就是為啥觸發span的click事件,就會觸發a標簽的click事件呢,就是一個事件冒泡的過程

 1,事件源觸發onclick事件,之后它的父元素也會觸發click事件,之后它的祖父元素再觸發click事件,直到html元素 (W3C標准 及支持事件冒泡,也支持事件捕獲,事件捕獲就是和事件冒泡相反,從html到事件源,當然我們偉大的IE在原則上還是不能與之為伍,有自己的風格,只支持事件冒泡)

 2,當然也可以阻止事件傳播

  • 在W3c中,使用stopPropagation()方法 ,

  • 在IE下設置cancelBubble = true;
3,也可以阻止默認行為,例如click <a>后的跳轉~
  •  在W3c中,使用preventDefault()方法;
  •   在IE下設置window.event.returnValue = false;

關於事件傳播的具體內容:前關注 http://www.jb51.net/article/42492.htm


免責聲明!

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



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