首页 > 代码库 > [13.事件]

[13.事件]

DOM级别理解:DOM分为1级、2级、3级,后一级是前一级的补充和扩展,IE4及Netscape Communicator4是浏览器发展的标志性里程碑,DOM 0级并不存在,只是用来指代这个时段的参照点。

事件流:

  • 1.事件冒泡。
  • 2.事件捕获。
  • DOM2级事件规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。

DOM二级事件处理:事件监听

  • IE8及以下版本:attachEvent(‘eventName‘,callback)、detachEvent(‘eventName‘,callback)
  • 其它:addEventListener(‘eventName‘,callback,boolern)、removeEventListener(‘eventName‘,callback,boolern),boolern为true时表示事件捕获阶段调用函数,boolern为false时表示事件冒泡阶段调用函数。
//制作兼容方法
var EventUtil={
    addHandler: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;
        }
    },
    removeHandler:function(element,type,handler){
        if(element.removeEventListener){
            element.removeEventListener(type,handler,false);
        }else if(element.detachEvent){
            element.datachEvent(‘on‘+type,handler);
        }else{
            element[‘on‘+type]=null;
        }
    }
}
//调用
var btn=document.getElementById(‘mybtn‘);
EventUtil.addHandler(btn,‘click‘,handler);
EventUtil.removeHandler(btn,‘click‘,handler);

 

[13.事件]