有没有办法摆脱:not(.disabled)
在事件处理程序中,对于 li
有 .disabled
,那么“做事”仍然会发生吗?
我问是因为我记得我不必添加 :not(.disabled)
到一个按钮元素,或者它可能是一个按钮,就像带有 li a
的下拉菜单一样里面的元素。
HTML
<ul class="dropdown-menu">
<li id="fooId" class="disabled">
text
</li>
</ul>
JavaScript
$('body').on('click', '#fooId:not(.disabled)', function () {
// "Do stuff.."
});
更新:
Boostrap dropdown li a disabled
禁用的菜单项
将 .disabled 添加到 <li>
在下拉列表中禁用链接。
<ul class="dropdown-menu" aria-labelledby="dropdownMenu4">
<li><a href="#">Regular link</a></li>
<li class="disabled"><a href="#">Disabled link</a></li>
<li><a href="#">Another link</a></li>
</ul>
我以前用过这种,哪里a
被包括在内。
我正在将代码重构到另一个类,同时我删除了 a
元素也是,现在我必须添加 :not(.disabled)
到事件处理程序,不要进入预期禁用的元素。 但令我惊讶的是,我想如果您删除 a
就不起作用了元素。 (我必须再次测试它)。
最佳答案
如果我没理解错的话,你想要做的是:
$('body').on('click', 'li', function () {
if($(this).hasClass('disabled'))
return; // Do stuff won't execute for disabled li, but will work for others
// "Do stuff.."
});
关于javascript - :not(. 是否被禁用)对于事件处理程序总是必要的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36594967/