如何在 jQuery 中删除事件处理程序
答案:使用jQuery off()
方法
您可以简单地使用 jQuery off()
方法来删除使用 on()
附加的事件处理程序。 不要使用 unbind()
方法,它自 jQuery 3.0 起已被弃用。
如果您尝试下面的示例,您会发现事件处理函数 sayHello()
没有为 id 为 btnOff
的按钮元素执行:
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery Remove Event Handler</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
function sayHello(){
alert("Hello, World!");
}
$(document).ready(function(){
// 附加一个事件处理函数来点击事件
$("#btnOn, #btnOff").on("click", sayHello);
// 从第二个按钮中删除单击事件处理程序
$("#btnOff").off("click");
});
</script>
</head>
<body>
<button type="button" id="btnOn">Click On</button>
<button type="button" id="btnOff">Click Off</button>
</body>
</html>
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答:
Advertisements