js事件處理的方式有三種:編程
1.HTML事件處理瀏覽器
<input type="button" value="click me" onclick="alert("Clicked");"/>
2.DOM0級事件處理函數
var btn = document.getElementById("myBtn"); btn.onclick = function(){ alert("Clicked"); }
3.DOM2級事件處理this
var btn=document.getElementById("myBtn"); btn.addEventListener("click",function()){ alert(this.id); },false); //false 表示在冒泡階段調用時間處理函數,若是是true,表示在捕獲階段調用事件處理程序。
4.IE事件處理spa
IE8及IE8之前的版本只支持事件冒泡。code
var btn=document.getElementById("myBtn"); btn.attachEvent("onclick",function()){ alert(this === windown); //true 跨瀏覽器編程時,要牢記這一區別。 },false);
5.跨瀏覽器的事件處理blog
var EventUtil = { addHandle:function(element, type, handler){ if(element.addEventListener){ element.addEventListener(type, handler, false); }else if(element.attachEvent){ element.attachEvent("on"+type, handler); }else{ element["on"+type] = handler; } }, removeHandle: function(element, type, handler){ if(element.removeEventListener){ element.removeEventListener(type, handler, false); }else if(element.detachEvent){ element.detachEvent("on"+type, handler); }else{ element["on"+type] = null; } } }