event.cancelBubble=true 取消事件處理


<tr><a href="xxx">連接</a></tr>

如上結構,單擊tr的時候跳轉至另一頁面

<tr style="cursor:pointer" onmouseover="this.style.backgroundColor='gainsboro'" onmouseout="this.style.backgroundColor=''" onclick="return Click();">

 

    function Click() {
        window.location.href = "xxx";
    }

 

<a href="xxx">連接</a> 可更改為<a href="xxx" onclick="event.cancelBubble=true">連接</a>

這樣可以避免單擊a標簽的同時也跳轉至另一頁面。onclick="event.cancelBubble=true" 取消事件處理。

否則單擊a的同時會跳轉另一頁面。

解析:

取消事件冒泡,在 IE 的事件機制中,觸發事件會從子元素向父元素逐級上傳,就是說,如果子元素觸發了單擊事件,那么也會觸發父元素的單擊事件;event.cancelBubble=true;可以停止事件繼續上傳

補充一點,Ie的事件傳遞是從下到上的:

事件來源對象->上級對象->上上級對象->.....->body->document->window

NS的事件傳遞是從上到下:

window->document->body->....->事件來源對象

(event.returnValue=false 設置事件的返回值為false,即取消事件處理)


免責聲明!

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



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