仅在父级折叠时触发事件的Bootstrap嵌套折叠

9

我有一个嵌套的Bootstrap Collapse,父Collapse和子Collapse都有一个shown事件触发。我需要它只在父Collapse上触发,而不是在子Collapse上触发。

$(document).ready(function() {
  $("#accordion2").on("shown",function() {
    alert("shown!");  
  });
});

以下是一个例子:http://jsfiddle.net/xb9K6/


2
我有一个类似的问题。我有嵌套的折叠元素,当我折叠子元素时,父元素上的.show()事件也会触发。我尝试了stopPropagation()但没有成功。有什么想法吗? - Jo Sprague
1个回答

26
您可以使用事件对象的stopPropagation方法。
$(".accordion").on("shown",function(event) {
    event.stopPropagation();
});

http://jsfiddle.net/SPZZv/


哦,你的事件行末尾有一个冒号。 - Michael
1
我有一个类似的问题。我有嵌套的折叠元素,当我折叠子元素时,父元素也会触发.show()事件。我尝试了stopPropagation()但没有成功。有什么想法吗? - Jo Sprague
@JosiahSprague 如果你犯了和我一样的错误,那是因为你把 stopPropagation() 拼错成了 stopPropogation()。 - Iolo
@JosiahSprague 尝试监听事件 "show.bs.collapse hide.bs.collapse" - alexblum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接