javascript - 为禁用的元素停止事件冒泡

标签 javascript jquery event-bubbling

我有一个有样式的按钮

pointer-events: none;

并且这个按钮有一个执行可折叠事件的父元素。我不知道如何防止此按钮触发其父元素的可折叠事件。这是因为按钮样式是 pointer-events: none 造成的

谢谢

最佳答案

假设以下 html:

<div class="collapsible">
    <button>Hi</button>
</div>

你可以这样做:

$('.collapsible').click(function(e) {
    if ($(this).children('button').css('pointer-events') == 'none') return;

    //do collapse
});

或者可能是这样的:

$('.collapsible').click(function(e) {        
    //do collapse
});

$('.collapsible button').click(function(e) {
   if ($(this).css('pointer-events') == 'none')
       e.stopPropagation();
});

关于javascript - 为禁用的元素停止事件冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18986238/

相关文章:

javascript - 当为 null 时设置 JavaScript 对象成员的默认值

javascript - 最内层元素上的调度事件不会导致向上层元素冒泡?

WPF 如何将事件传递给兄弟元素

javascript - 从 Javascript 调用 ASP 经典函数

javascript - 如何克隆ImageData?

javascript - VUE 3我如何检查元素何时在视口(viewport)中?

javascript - 防止在 JavaScript 中冒泡和捕获时触发事件

javascript - 读取嵌套的 Json 文件以在网页上显示

jquery - 移除 navbar-toggleable 后隐藏的导航栏元素

javascript - jQuery.ajax 不发送带有 OPTIONS 请求的授权 header