事件绑定相当于在一个元素上进行监听,监听事件是否触发。
普通事件就是直接触发事件。
两者的区别就在于是否可重复使用。
事件绑定可以在一个元素上监听同一事件多次,而普通事件多次写会被覆盖。
var ys1 = '某个元素监听(绑定)',ys2 = '另一个元素(普通事件)';
ys1.addEventListener('click',function () {
alert(1);
});
ys1.addEventListener('click',function () {
alert(2)
});
//会弹出1,2;
ys2.onclick = function(){
alert(1);
}
ys2.onclick = function(){
alert(2);
}
//只会弹出2.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id="btn">button</button>
<script type="text/javascript">
var myBtn=document.getElementById("btn");
// 用普通方法添加两个事件
myBtn.onclick=function () {
alert('普通事件1');//被覆盖
}
myBtn.onclick=function () {
alert('普通事件2');//弹出
}
//用事件绑定添加两个事件。
addEvent(myBtn,'click',function () {
alert('事件绑定1');//弹出
},false)
addEvent(myBtn,'click',function () {
alert('事件绑定1');//弹出
},false)
function addEvent(ele,name,fn){
if(ele.attachEvent){
ele.attachEvent("on"+name,fn);ie9以下
}else{
ele.addEventListener(name,fn); // ie9以上
}
}
</script>
</body>
</html>