JavaScript阻止事件冒泡示例分享
之前遇到事件冒泡的問題,也去網(wǎng)上搜索了一番,結(jié)果大部分都是一樣的代碼,貼來用時也不太順利。涉及到FF時,可以用 e.stopPropagation(); ,不知怎地我沒用成功。不過我發(fā)現(xiàn)FF支持e.cancelBubble = true;的寫法,經(jīng)測試可行。就把代碼貼在這里吧,省得以后到處找。IE以前版本的兼容性還沒測試,用到時再完善吧。
//取消事件冒泡
function stopBubble(e) {
var evt = (e) ? e : window.event;//兼容FF
evt.cancelBubble = true; //evt.stopPropagation(); FF下阻止冒泡,據(jù)說可以用
};
另:
1、cancelBubble(HTML DOM Event 對象屬性) :如果事件句柄想阻止事件傳播到包容對象,必須把該屬性設(shè)為 true。
2、stopPropagation(HTML DOM Event 對象方法):終止事件在傳播過程的捕獲、目標(biāo)處理或起泡階段進(jìn)一步傳播。調(diào)用該方法后,該節(jié)點上處理該事件的處理程序?qū)⒈徽{(diào)用,事件不再被分派到其他節(jié)點。
3、 preventDefault(HTML DOM Event 對象方法)通知瀏覽器不要執(zhí)行與事件關(guān)聯(lián)的默認(rèn)動作。
例子:
function stopBubble(e)
{
if (e && e.stopPropagation)
e.stopPropagation()
else
window.event.cancelBubble=true
}
把這個stopBubble(e)函數(shù)放到你想要的阻止事件冒泡函數(shù)里面就可以阻止事件冒泡了
相關(guān)文章
JavaScript實現(xiàn)簡單圖片翻轉(zhuǎn)的方法
這篇文章主要介紹了JavaScript實現(xiàn)簡單圖片翻轉(zhuǎn)的方法,涉及javascript操作圖片與數(shù)組的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04基于javascript數(shù)組實現(xiàn)圖片輪播
這篇文章主要為大家詳細(xì)介紹了基于javascript數(shù)組實現(xiàn)圖片輪播的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05html5+canvas實現(xiàn)支持觸屏的簽名插件教程
jq-signature.js是一個幫助你創(chuàng)建簽名的jQuery插件,允許你的用戶使用鼠標(biāo),手指或者鉛筆生成簽名。下面這篇文章主要給大家介紹了利用html5+canvas實現(xiàn)支持觸屏的簽名插件的相關(guān)資料,需要的朋友可以參考下。2017-05-05