您的位置:首页 > Web前端 > JavaScript

js元素绑定事件

2014-04-04 16:17 302 查看
想给一个元素绑定一个方法之后,在绑定一个方法而且不被覆盖

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: