有没有办法防止在禁用的按钮的父级上触发jQuery .click()侦听器? 例如,在这种情况下:
<div>
<button disabled="disabled">click me</button>
</div>
<script>
// unfortunately this click handler is placed by 3rd party
// library and I can't edit it. Just add another handlers or css
$('div').on('click', function () {
alert('div is still clickable, probable you use IE');
});
</script>
在我的项目中,点击事件与第三方库一起放置,因此我无法启用/禁用自身或将绑定移动到按钮。
ADD :我找到了解决方案而没有禁用该按钮,但证明它已被禁用&#34; class,并添加事件监听器:
$('button').on('click', function (event) {
if ($(this).hasClass('disabled')) {
event.stopImmediatePropagation();
}
});
但是禁用按钮怎么样?有没有办法解决它?
答案 0 :(得分:0)
这可能适合你
$('button').not(':disabled').parent().on('click',function(){});
您可以删除第三方点击事件,并使用.off()
或unbind()
$('div').unbind(); //or .off() depending on how the third-party set the handler
//then add your own click method after the unbinding.
答案 1 :(得分:0)
试试这个:
$('div').on('click', function (event) {
if ($(this).find('button').is(':disabled')) {
return false;
}
});