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 對象方法):終止事件在傳播過程的捕獲、目標處理或起泡階段進一步傳播。調(diào)用該方法后,該節(jié)點上處理該事件的處理程序?qū)⒈徽{(diào)用,事件不再被分派到其他節(jié)點。
3、 preventDefault(HTML DOM Event 對象方法)通知瀏覽器不要執(zhí)行與事件關(guān)聯(lián)的默認動作。
例子:
function stopBubble(e)
{
if (e && e.stopPropagation)
e.stopPropagation()
else
window.event.cancelBubble=true
}
把這個stopBubble(e)函數(shù)放到你想要的阻止事件冒泡函數(shù)里面就可以阻止事件冒泡了
相關(guān)文章
詳解js私有作用域中創(chuàng)建特權(quán)方法
這篇文章主要為大家詳細介紹了js私有作用域中創(chuàng)建特權(quán)方法,何為特權(quán)方法,特權(quán)方法就是有權(quán)訪問私有變量和私有函數(shù)的公有方法,感興趣的小伙伴們可以參考一下2016-01-01
js實現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法
這篇文章主要介紹了js實現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法,可實現(xiàn)根據(jù)文本框內(nèi)容動態(tài)改變寬度的功能,涉及javascript動態(tài)操作頁面元素屬性的技巧,需要的朋友可以參考下2015-08-08
javascript游戲開發(fā)之《三國志曹操傳》零部件開發(fā)(一)讓靜態(tài)人物動起來
首先來說,讓一個游戲賦有可玩性必須要動靜結(jié)合,我將要在下面告訴大家如何運用Javascript將靜態(tài)圖片變?yōu)閯討B(tài)圖片,感興趣的朋友可以了解下,便當鞏固js知識了2013-01-01
使用JS+XML(數(shù)據(jù)島)實現(xiàn)分頁)
使用JS+XML(數(shù)據(jù)島)實現(xiàn)分頁)...2007-01-01
Javascript中匿名函數(shù)的多種調(diào)用方式總結(jié)
這篇文章主要是對Javascript中匿名函數(shù)的多種調(diào)用方式進行了詳細的總結(jié)介紹。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
JavaScript監(jiān)測ActiveX控件是否已經(jīng)安裝過的代碼
這是通用的方法,只需要把唯一的Activex的clsid和任意一個屬性或方法名傳進來就可以判斷了。(找了兩個小時才找到 -_-!)2008-09-09

