首頁 >web前端 >js教程 >JavaScript阻止事件冒泡範例分享_javascript技巧

JavaScript阻止事件冒泡範例分享_javascript技巧

WBOY
WBOY原創
2016-05-16 16:24:111055瀏覽

之前遇到事件冒泡的問題,也去網路搜尋了一番,結果大部分都是一樣的程式碼,貼來用時也不太順利。涉及FF時,可以用 e.stopPropagation(); ,不知怎地我沒用成功。不過我發現FF支援e.cancelBubble = true;的寫法,經測試可行。就把程式碼貼在這裡吧,省得以後到處找。 IE以前版本的相容性還沒測試,用到時再完善吧。

 

複製程式碼 程式碼如下:

//取消事件冒泡
function stopBubble(e) {
    var evt = (e) ? e : window.event;//相容FF
    evt.cancelBubble = true;  //evt.stopPropagation();  FF下方阻止冒泡,據說可用
};

另:

1、cancelBubble(HTML DOM Event 物件屬性) :如果事件句柄想要阻止事件傳播到包容對象,則必須把該屬性設為 true。

2、stopPropagation(HTML DOM Event 物件方法):終止事件在傳播過程的捕捉、目標處理或起泡階段進一步傳播。呼叫該方法後,該節點上處理該事件的處理程序將被調用,事件不再被分派到其他節點。

3、 preventDefault(HTML DOM Event 物件方法)通知瀏覽器不要執行與事件關聯的預設動作。

範例:
    function stopBubble(e) 
    { 
        if (e && e.stopPropagation) 
            e.stopPropagation() 
        else
            window.event.cancelBubble=true
    } 

把這個stopBubble(e)函數放到你想要的阻止事件冒泡函數裡面就可以阻止事件冒泡了

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn