我有一个有点击功能的按钮
<div id="canvas">
<button onclick="document.location.href='hello.php'">Go</button>
</div>
现在我想停止重定向到 hello.php
的 onclick
事件,所以我编写了以下 jQuery 函数
$("#canvas").on('click', 'button', function(event) {
event.preventDefault();
});
这没有用,所以我添加了一个 return false
但它仍然没有用。
$("#canvas").on('click', 'button', function(event) {
event.preventDefault();
return false;
});
您可以在Jsfiddle 查看它
注意:我不想删除按钮的onclick
最佳答案
正确的解决方案是首先从 HTML 中删除 onclick
。
假设这是不可能的,你可以在事后删除它:
$("#canvas button").first().prop("onclick", null);
这会清除元素上的 onclick
属性,从而删除由 onclick
属性设置的处理程序。 (如果按钮根本不存在,则为空操作。)
可能值得注意的是,如果 button
在表单中,它现在将提交表单,因为它的 onclick
不会让用户离开页面. (因为 button
的默认 type
是 submit
。)
关于javascript - event.preventDefault() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814282/