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... 
    } 
}); 


标签:jquery
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号