想給一個元素綁定一個方法之后,在綁定一個方法而且不被覆蓋
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);
}
}