<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.btn1{
margin-left: 20px;
}
</style>
</head>
<body>
<input id="btn1" type="button" value="绑定事件" class="btn1">
<input id="btn2" type="button" value="解绑事件">
<script>
function my$(id){
return document.getElementById(id)
}
//绑定事件兼容代码
function addEventListener(element, type, fn){
if(element.addEventListener){
console.log('我支持addEventListener')
element.addEventListener(type, fn, false)
}else if(element.attachEvent){
console.log('我支持attachEvent')
element.attachEvent('on' + type, fn)
}else{
console.log('我两个都不支持')
element['on' + type] = fn
}
}
//解除绑定事件
function removeEventListener(element, type, fn){
if(element.removeEventListener){
console.log('我支持removeEventListener')
element.removeEventListener(type, fn, false)
}else if(element.detachEvent){
console.log('我支持attachEvent')
element.detachEvent('on' + type, fn)
}else{
console.log('我两个都不支持')
element['on' + type] = fn
}
}
function f1(){
console.log('第一个')
}
function f2(){
console.log('第二个')
}
var btn1Obj = my$('btn1')
addEventListener(btn1Obj, 'click', f1)
addEventListener(btn1Obj, 'click', f2)
var btn2Obj = my$('btn2')
btn2Obj.onclick = function(){
removeEventListener(btn1Obj, 'click', f1)
}
</script>
</body>
</html>