JS點擊事件的重疊處理(多個點擊事件出現沖突)


最近開發遇見了一個這個樣的情況,一個button在一個div中,點擊buton是一個事件,點擊大的div也是一個事件,但是由於button在div中,點擊button會把兩個事件都執行了,但是我們想點擊button的時候不去執行大div的事件。層次如圖:

解決方法 :

    在button的點擊事件執行的時候調使用   event.stopPropagation() 方法,具體使用如下代碼:

     //點擊button的方法
    function clickBtn(event){

        //具體的事件內容。。。。。

        
        stopBubbling(event); 
    }


    function stopBubbling(e) {
        e = window.event || e;
        if (e.stopPropagation) {
            e.stopPropagation();      //阻止事件 冒泡傳播
        } else {
            e.cancelBubble = true;   //ie兼容
        }
    }

 

 

 

 

 

 

 

 

 

 


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 ps:  W3CSchoo對stopPropagation的解釋


免責聲明!

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



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