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