事件处理分为DOM0,DOM2,DOM3事件。

DOM0就是直接通过 onclick写在html里面的事件, 比如:<input onclick="alert(1)" />,或者通过获取id的方式在js中直接添加onclick,比如document.getElementById("id").onclick。不能够添加多个事件方法,只显示最后一个。

DOM2是通过addEventListener绑定的事件, 还有IE下的DOM2事件通过attachEvent绑定。IE的事件流是冒泡, 从里面往上面冒。而现代浏览器默认冒泡,若将addEventListener的第三个参数设置为false,则为捕获。可以进行事件累加,addEventListener是DOM2,但attachEvent不是DOM2,是IE自己的方法,虽可以实现事件累加,但顺序是反着的。

 

 

比如如下代码: if(document.addEventListener){         //addEventListener是DOM2,
         p1.addEventListener("click",function(){
            alert("hello");     //现代浏览器,先显示hello,后显示hi
        },true);       //true - 事件句柄在捕获阶段执行;false-  默认。事件句柄在冒泡阶段执行
        p1.addEventListener("click",function(){
            alert("hi");
        },true);
        }else{       //兼容IE浏览器,此方法不是DOM2,可以添加多种事件方法,但是先显示hi再显示hello
        p1.attachEvent("onclick",function(){
            alert("hello");
        });
        p1.attachEvent("onclick",function(){
            alert("hi");
        });
        }