js元素绑定事件
想给一个元素绑定一个方法之后,在绑定一个方法而且不被覆盖
window.onload = function () { alert('a'); } window.onlaod=function(){ alert('b') }
我们发现它只弹出一个,有一个被覆盖了
下面就说一下js中的绑定事件
attachEvent(IE中用) var oBtn = document.getElementById('btn1'); oBtn.attachEvent('onclick', function () { alert('a') } ); oBtn.attachEvent('onclick', function () { alert('baa') } ); 但在ff 和chrome 却用不了 在 ff和chrome是用addEventListener 它们是click 而IE中是onclick oBtn.addEventListener('click', function () { alert('a') }, false); oBtn.addEventListener('click', function () { alert('b') }, false);
兼容性判断
var oBtn = document.getElementById('btn1');
if (oBtn.attachEvent) { //IE 中
oBtn.attachEvent('onclick',function () { alert('a') }
);
oBtn.attachEvent('onclick',
function () { alert('baa') }
);
}
else {
//firefox googleChorme
oBtn.addEventListener('click', function () { alert('a') }, false);
oBtn.addEventListener('click', function () { alert('b') }, false);
}
//为了代码好看一点,写一个代码封装判断兼容性
function myAddEvent(obj, ev, fn) {
if (obj.attachEvent) {
obj.attachEvent('on' + ev, fn);
}
else
{
obj.addEventListener(ev, fn, false);
}
}