不兼容IE9以下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=\, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="button" value="点击" id="btn">
<script>
var btn = document.getElementById("btn");
//绑定事件的方式
/* btn.onclick = function(){
alert(1);
};
//绑定多次相同的事件
//点击按钮后会提示2,上一次绑定事件被覆盖
btn.onclick = function(){
alert(2);
};
*/
//DOM 2级事件绑定方式
btn.addEventListener("click",function(){
alert(111);
});
//多次绑定事件类型,事件会根据书写的顺序进行一个事件排队
//点击按钮后会提示111,然后提示222
btn.addEventListener("click",function(){
alert(222);
});
//另一种写法,直接调用函数名
btn.addEventListener("click",clickEvent);
function clickEvent(){
alert(3);
};
</script>
</body>
</html>
仅兼容IE10及以下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=\, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="button" value="点击" id="btn">
<script>
var btn = document.getElementById("btn");
btn.attachEvent("onclick",function(){
alert(1);
});
btn.attachEvent("onclick",clickEvent);
function clickEvent(){
alert(2);
};
//IE8及以下浏览器处理事件队列时,会出现顺序错乱
</script>
</body>
</html>
html元素
<input type="button" value="点击" id="btn">
三种解绑事件
//获取元素
var btn = document.getElementById("btn");
//onclick
//绑定事件方法
btn.onclick = function(){
alert(66);
};
//解除绑定方法
btn.onclick = null;
//addEventListener
//绑定事件
btn.addEventListener("click",fun);
function fun(){
alert(5);
};
//解绑事件
btn.removeEventListener("click",fun);
//attachEvent
//绑定事件
btn.attachEvent("onclick",fun);
//解除绑定
btn.detachEvent("coclick",fun);
兼容各版本的绑定和解绑事件写法
//兼容不同浏览器绑定事件
function addEvent(ele,type,fn){
//IE9及以上的浏览器和其他浏览器,使用 addEventListener 方法
//IE9以下的浏览器,使用 attachEvent 方法
//浏览器能力检测
if(ele.addEventListener){
ele.addEventListener(type,fn);
}else if(ele.attachEvent){
ele.attachEvent("on"+type,fn);
}
};
//兼容所有浏览器的解除绑定事件
//参数:事件源,事件类型,事件函数
function removeEvent(ele,type,fn){
//浏览器能力检测
if (ele.removeEventListener){
ele.removeEventListener(type,fn);
} else if (ele.detachEvent){
ele.detachEvent("on"+type,fn);
}
};
//获取元素
var btn = document.getElementById("btn");
//绑定事件
function fun(){
alert(1111);
};
addEvent(btn,"click",fun);
//btn.addEventListener("click",fun2);
//解绑事件
removeEvent(btn,"click",fun);