事件处理函数的第一个参数表示的是事件对象,事件对象是用户记录事情发生的整个过程
document.onclick = function (a , b) { }
document.onclick = function (e) {
e = e || event ; //兼容
console.log(e.target);//输出触发目标
console.log(this); //指向事件源
}
绑定事件的方式
行内js οnclick="fn()" ; 事件绑定 oDiv.onclick = function(){}后面覆盖前面的; 事件监听 oDiv.addEventListener(类型,事件处理函数) 不会覆盖
行内js和普通事件绑定都可以通过重新赋值的方式,以覆盖的方式进行移除null ;
事件监听的方式,需要写成具名函数才能被移除(注意:移除的时候,需要一个一个的移除) removeEventListener() ;
oD.addEventListener('click' , fn) ; addEvent(oDiv , 'click' , fn)
oD.removeEventListener('click' , fn); removeEvent(oDiv , 'click' , fn); oDiv.onclick = null ;
添加事件监听(兼容)
function addEvent(ele , type ,fn) { if ( window.addEventListener ) { ele.addEventListener(type , fn ); } else { ele.attachEvent('on' + type , fn ); } } |
移除事件监听
function removeEvent(ele , type , fn)
{ if(window.removeEventListener)
{ ele.removeEventListener(type , fn);}
else {ele.detachEvent('on' + type , fn);}
}