我有按钮具有onclick功能
<div id="canvas">
<button onclick="document.location.href='hello.php'">Go</button>
</div>
现在我想停止这个重定向到onclick
的{{1}}事件,所以我编写了以下jQuery函数
hello.php
这不起作用所以我添加了$("#canvas").on('click', 'button', function(event) {
event.preventDefault();
});
,但它仍然无效。
return false
您可以在Jsfiddle
查看注意:我不想删除按钮
答案 0 :(得分:6)
正确的解决方案是首先从HTML中删除onclick
。
假设不可能,您可以在事后删除它:
$("#canvas button").first().prop("onclick", null);
清除元素上的onclick
属性,删除onclick
属性设置的处理程序。 (如果按钮根本不存在,那就是无操作。)
值得注意的是,如果button
位于表单中,它现在会提交表单,因为onclick
不会将用户带离页面。 (由于button
的默认type
为submit
。)
答案 1 :(得分:2)
您应该只使用removeAttr
jQuery方法:
$('#canvas button').removeAttr('onclick');