Javascript 为嵌套按钮触发两次引导折叠事件

Javascript 为嵌套按钮触发两次引导折叠事件,javascript,html,jquery,bootstrap-4,Javascript,Html,Jquery,Bootstrap 4,我有一个Bootstrapcollapse元素,其中包含多个其他collapse元素,当单击collapse时(显示或隐藏),我希望捕获该事件 我遇到的问题是,如果单击嵌套的折叠按钮(对于父级折叠和单击的折叠),则会触发两次collapse事件 下面是一个演示,显示了问题: 单击嵌套按钮时,事件会触发两次,如何解决此问题?只需使用jQuery方法: 防止事件在DOM树中冒泡,防止任何 父处理程序不会收到事件通知 同样打开。只需使用jQuery方法: 防止事件在DOM树中冒泡,防止任何 父处理程序

我有一个Bootstrap
collapse
元素,其中包含多个其他
collapse
元素,当单击
collapse
时(显示或隐藏),我希望捕获该事件

我遇到的问题是,如果单击嵌套的折叠按钮(对于父级折叠和单击的折叠),则会触发两次
collapse
事件

下面是一个演示,显示了问题:

单击嵌套按钮时,事件会触发两次,如何解决此问题?

只需使用jQuery方法:

防止事件在DOM树中冒泡,防止任何 父处理程序不会收到事件通知

同样打开。

只需使用jQuery方法:

防止事件在DOM树中冒泡,防止任何 父处理程序不会收到事件通知

同时打开。

您需要使用以确保事件不会被多次调用

事件接口的
stopImmediatePropagation()
方法防止调用同一事件的其他侦听器

现场演示:

$(document).on('show.bs.collapse hide.bs.collapse','.collapse',函数(e){
e、 stopImmediatePropagation();//使用此
console.log(“事件触发”);
});

测试
测试
您需要使用以确保事件不会被多次调用

事件接口的
stopImmediatePropagation()
方法防止调用同一事件的其他侦听器

现场演示:

$(document).on('show.bs.collapse hide.bs.collapse','.collapse',函数(e){
e、 stopImmediatePropagation();//使用此
console.log(“事件触发”);
});

测试
测试
$(document).on('show.bs.collapse hide.bs.collapse', '.collapse', function(e) {
    e.stopPropagation();
    console.log('event triggered');
});