JS事件监听器
Javascript事件监听
弹出3,4
解除绑定事件的时候一定要用函数的句柄,把整个函数写上是无法解除绑定的。
所以3没有解除
添加
console.dir(Button1); console.dir(Button1["onclick"]); console.dir(Button1.onclick); console.dir(Button1.onclick());
Button1.onclick = function () { alert("hongda"); } Button1.onclick = function () { alert("hongda2"); } Button1.onclick = function () { alert("hongda3"); }
点击时弹出3,4,hongda3
Javascript事件监听
弹出3,4,hongda3
Button1.onclick();
只弹出hongda3
如果只有监听器,不用Button1.οnclick=function(){}
那么调用Button1.onclick();
可见事件监听器与对应的对象的事件属性是分开的,只在事件触发时调用,
如果有事件属性就只调用事件属性,且只调用最后一个
如果没有事件属性,那就调用事件监听器,全部一个一个的调用。
fireEvent,ie中有的,firefox中没有
与onclick的区别是
如果没有给事件属性onclick赋值方法,Button1.fireEvent("onclick")不执行,但也不会报错,它跟onclick一样也不调用事件监听