Javascript关于绑定事件方法attachEvent和addEventListener区别与兼容写法

时间:2021-06-22 04:36:05

Mozilla中:

addEventListener的使用方式:

target.addEventListener(type, listener, useCapture);

target: 文档节点、document、window 或 XMLHttpRequest。
type: 字符串,事件名称,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener :实现了 EventListener 接口或者是 JavaScript 中的函数。
useCapture :是否使用捕捉,一般用 false 。例如:document.getElementById(“testText”).addEventListener(“keydown”, function (event) { alert(event.keyCode); }, false);

 

IE中:

target.attachEvent(type, listener);
target: 文档节点、document、window 或 XMLHttpRequest。
type: 字符串,事件名称,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
listener :实现了 EventListener 接口或者是 JavaScript 中的函数。 例如:document.getElementById(“txt”).attachEvent(“onclick”,function(event){alert(event.keyCode);});

 

兼容的写法:

 
 
  1. if (window.attachEvent) {
  2.  
  3. obj.attachEvent("onclick", function() {alert(even.innerHTML) });//ie
  4. }
  5. else {
  6. obj.addEventListener("click", function() { alert(even.innerHTML) }, false); //火狐
  7. }