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(事件名称,事件函数,是否捕获)(但是添加的匿名函数不能被移除,因为要保证两次传入的参数完全相同才能删除)