[JavaScript]阻止冒泡事件

作者: 鐵拐李  來源: 博客園  發布時間: 2009-10-17 15:40  閱讀: 2665 次  推薦: 0   原文鏈接   [收藏]  

  阻止冒泡事件的方法有兩種,第一種是IE的方法,第二種是DOM方法,至于為什么要分為兩種方法去討論之,這里就不做討論了,總之是瀏覽器一些蹩腳的問題,好了廢話不說了,直接貼代碼了:

    //阻止冒泡事件
    function stopBubble(e) {
        if (e && e.stopPropagation) {//非IE
            e.stopPropagation();
        }
        else {//IE
            window.event.cancelBubble = true;
        }
    }

  舉個例子:就是谷歌首頁的更多選項吧,不知道的可以去看看http://www.google.com/
這里要應用兩個點擊事件,一個是div.onclick,另一個就是document.onclick,那么問題就出現了,在調用div.onclick的時候,由于冒泡事件的存在,會自動的調用document.onclick,由于冒泡的順序是從里向外的(div->body->document->html)所以div.onclick事件就會被覆蓋掉,也就不會執行了,解決的方案其實也是很簡單的哦,就是在執行div.onclick的時候阻止冒泡事件就好了,那怎么阻止呢,就調用上面的函數就ok了!哈哈!
ps:在介紹一下阻止瀏覽器默認行為的方法,大同小異,這里就不再贅述了。

    function stopDefault(e) {
        //阻止默認瀏覽器動作(W3C)
        if (e && e.preventDefault)
            e.preventDefault();
        //IE中阻止函數器默認動作的方式
        else
            window.event.returnValue = false;
        return false;
    } 
0
0
 
標簽:JavaScript
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()