我有以下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事件呢?我曾尝试取消绑定“点击”,但除此以外不起作用(它是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附加click事件,以保持更好的关注点分离:
<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...
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句