停止事件冒泡禁用元素

raj*_*rts 6 javascript jquery event-bubbling

我有一个有风格的按钮

pointer-events: none;
Run Code Online (Sandbox Code Playgroud)

此按钮具有执行可折叠事件的父元素.我不知道如何阻止此按钮触发其父元素可折叠事件.这是因为按钮样式是指针事件:无

谢谢

Jas*_*n P 4

假设有以下 html:

<div class="collapsible">
    <button>Hi</button>
</div>
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

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

    //do collapse
});
Run Code Online (Sandbox Code Playgroud)

或者也许是这样的:

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

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