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