传统on注册(L0)
on 事件方式,直接用null覆盖就可以实现事件的解绑
语法:
// 绑定事件
btn.onclick = function () {
alert('点击发生')
}
// 解绑事件
btn.onclick = null
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>点击</button>
<script>
const btn = document.querySelector('button')
btn.onclick = function () {
alert('按钮点击了')
}
// L0 事件解绑
btn.onclick = null
</script>
</body>
</html>
事件监听注册(L2):addEventListener、removeEventListener方式
如果使用addEventListener方式绑定事件,解绑事件必须使用:
removeEventListener(事件类型, 事件处理函数, [获取捕获或者冒泡阶段])
注意:匿名函数无法被解绑。
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>点击</button>
<script>
const btn = document.querySelector('button')
function fn() {
alert('按钮点击了')
}
// 绑定事件
btn.addEventListener('click', fn)
// L2 移除事件方法
btn.removeEventListener('click', fn)
</script>
</body>
</html>