<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="button" value="按钮" id="btn">
<script>
// 点击按钮只打印一次
var btn = document.getElementById('btn');
// 第1种:
// btn.onclick = function () {
// console.log('hello');
// btn.onclick = null;
// }
// 第2种:
// btn.addEventListener('click', function () {
// console.log('hello');
// btn.removeEventListener('click', function () { // 错误的 此处无法调用上一行的匿名函数 无法移除
// console.log('hello');
// });
// });
// 第3种,改进:
function btnClick() {
console.log('hello');
btn.removeEventListener('click', btnClick);
}
btn.addEventListener('click', btnClick);
// 第4种: detachEvent IE6-10
// function btnClick() {
// console.log('hello');
// btn.detachEvent('onclick', btnClick);
// }
// btn.attachEvent('onclick', btnClick); // btn.attachEvent is not a function
</script>
</body>
</html>
原生js移除事件处理的3种方式
最新推荐文章于 2023-04-11 17:30:43 发布