javascript 事件處理

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;
        }
    }
}
相關文章
相關標籤/搜索