关于ie的监听事件

<div id='test'></div>;

如要监听#test的点击事件,在除了ie的浏览器上都可以用document.getElementById("#test").addEventListener("click",function(){});

即是target.addEventListener(type,listener,useCapture);

target:文档节点,即是document.getElementById("test");

type:字符串,事件的名称,是不需要加on的,如click等,

useCapture:是否捕捉,默认值是false,当为false是在冒泡阶段,冒泡阶段是事件是由内向外执行,当设置为true的时候是在捕捉阶段,事件是由外向内执行。

在ie中,document.getElementById("#test").attachEvent(type,listener);

target:文档节点、document.getElementById("#test");如document,window,XMLHttpRequest。

type:字符串,事件名称,含有on,如onclick等

W3C 及 IE 同时支持移除指定的事件, 用途是移除设定的事件, 格式分别如下:
removeEventListener(event,function,capture/bubble);

detachEvent(event,function);

适应的浏览器版本不同,同时在使用的过程中要注意
attachEvent方法 按钮onclick IE中使用
addEventListener方法 按钮click fox中使用
两者使用的原理:可对执行的优先级不一样,下面实例讲解如下:
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例: document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;如果这样写,那么将会只有medhot3被执行
写成这样:
var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);执行顺序为method3->method2->method1
如果是Mozilla系列,并不支持该方法,需要用到addEventListener var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);执行顺序为method1->method2->method3  

posted @ 2017-03-30 17:04  syq浮生  阅读(2798)  评论(0编辑  收藏  举报