最近開發遇見了一個這個樣的情況,一個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的解釋