为事件指定处理函数的方式

1:HTML事件处理程序

eg:<srcipt>

function showMessage(){

alert(“hello word!”);

}

</srcipt>

<input type=“button” value=“Click me”  onclick=“showMessage()”>

 

2:通过将一个函数赋值给一个事件处理程序属性

function fn1(){

alert(1);

}

function fn2(){

alert(2);

}

 

obj.onclick=fn1;

obj.onclick=fn2;

但此时fn2函数会覆盖fn1函数

3.

IE下:obj.attachEvent(事件名称,事件函数)  

1:没有捕获

2:事件名称有on

3:事件函数执行顺序:标准IE下正序,非标准下为倒序

4:this指向window

5:删除事件处理程序的操作为detachEvent(事件名称,事件函数)(但是添加的匿名函数不能被移除,因为要保证两次传入的参数完全相同才能删除)

eg:

var btn=document.getElementById(‘btn’);

var handler=function(){

alert(1);

}

btn.attachEvent(“onclick”,handler);

 

btn.detachEvent(“onclick”,handler);

标准浏览器下:obj.addEventListener(事件名称,事件函数,是否捕获)    false:冒泡   true:捕获

1:有捕获

2:事件名称没有on

3:事件函数执行顺序为正序

4:this指向触发该事件的对象

5:删除处理程序的操作为removeEventlistener(事件名称,事件函数,是否捕获)(但是添加的匿名函数不能被移除,因为要保证两次传入的参数完全相同才能删除)

原文地址:https://www.cnblogs.com/feilu2016/p/6916031.html