addEventListener and attachEvent

 <div id="btn">btn</div>
  document.getElementById( " btn " ).onclick  =  method1;
document.getElementById(
" btn " ).onclick  =  method2;
document.getElementById(
" btn " ).onclick  =  method3;
//此時只執行method3的方法

要想三個方法都執行的話怎麼辦??
//爲某一事件附加其它的處理事件   dom.addEventListener(type,listener,is capture)  firefox下
//分別表示事件類型,執行的方法,和是否是冒泡(捕獲和冒泡,默認爲冒泡)

//ie下爲:dom.attachEvent(type,listener)  只有冒泡
var test = document.getElementById( " btn " );
test.addEventListener('click',method1,false);
test.addEventListener('click',method2,false);
test.addEventListener('click',method3,false);

此時就會執行method1,method2,method3,這三個方法
那麼在firefox裏怎麼使用第三個參數呢?
<div id="div1" style="border:1px solid red;width:500px;height:500px">1111
        <div id="div2">2222
            <div id="div3">  3333
                <div id="div4" style="border:1px solid red;width:200px;height:200px">
                    Hello World444
                </div>
            </div>
        </div>
    </div>

 <script type="text/javascript">      
        var d1 = document.getElementById('div1');
        var d2 = document.getElementById('div2');
        var d3 = document.getElementById('div3');
        var d4 = document.getElementById('div4');
        d1.addEventListener("click",function(e){
            console.log("d1 clicked");
            //console.dir(e);
            //e.stopPropagation();
        },true);
        d2.addEventListener("click",function(e){
            console.log("d2 clicked");
            //e.stopPropagation();
        },false);
        d3.addEventListener("click",function(e){
            console.log("d3 clicked");
            //e.stopPropagation();
        },false);
        d4.addEventListener("click",function(e){
            console.log("d4 clicked");
        },true);

    </script>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章