jquery之为 "click"属性解除绑定(bind) "onclick"
52php
阅读:72
2025-12-25 22:24:30
评论:0
我有以下 html 元素:
<span class="btn btn-mini btn-primary row-remove" onclick="someFunction(param1, param2)">
<i>Remove</i>
</span>
当我执行其他操作时,我会禁用页面上的这些按钮:
$(".row-remove").attr("disabled", true);
问题是,如果您单击禁用的按钮,它仍然会触发“onclick”,这会导致一个大问题(按钮被禁用是有原因的)。
有什么方法可以“禁用” onclick 事件吗?我尝试过取消绑定(bind)“click”,但异常(exception)的是它不起作用(它是onclick,而不是bind())。
谢谢。
最好,加里
请您参考如下方法:
只有表单元素可以具有disabled 属性。打开和关闭点击事件可能会变得很复杂。我建议您向元素添加一个 data 属性以显示元素的状态。像这样的事情:
$('.row-remove').data('disabled', true);
function someFunction(param1, param2) {
if (!$('.row-remove').data('disabled')) {
// element is not disabled, continue on...
}
}
我还建议使用 JavaScript 附加点击事件以保持更好的关注点分离:
<span class="btn btn-mini btn-primary row-remove" data-param1="param1" data-param2="param2">
<i>Remove</i>
</span>
$('row-remove').click(function() {
var $el = $(this);
var param1 = $el.data('param1'); // = 'param1'
var param2 = $el.data('param2'); // = 'param2'
if (!$el.data('disabled')) {
// element is not disabled, continue on...
}
});
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



