首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Bootstrap接收shown.bs.collapse事件?

如何从Bootstrap接收shown.bs.collapse事件?
EN

Stack Overflow用户
提问于 2017-10-14 03:13:55
回答 1查看 1.3K关注 0票数 1

我无法从Bootstrap 3.3.6接收shown.bs.collapse事件。我已经检测了我的bootstrap.js,以确保事件在我认为的位置被激发:

代码语言:javascript
复制
this.$element.trigger('shown.bs.collapse')
console.log("triggered shown.bs.collapse on #" + this.$element.attr("id"))

在我的文档ready中,我尝试使用jQuery和纯JS注册事件:

代码语言:javascript
复制
$('.panel-collapse').on('shown.bs.collapse', function () {
    console.log("listener called");
});

...or...

代码语言:javascript
复制
var panels = document.getElementsByClassName("panel-collapse");
for (var i = 0; i < panels.length; ++i) {
    console.log("adding event listener to #" + panels[i].getAttribute("id"));
    panels[i].addEventListener("shown.bs.collapse", function () {
        console.log("listener called");
    });
}

JS版本记录的元素ID与在bootstrap.js中触发事件时记录的元素ID相同,证明我将侦听器附加到了正确的元素。但它从来没有被调用过。

更奇怪的是,这一切都可以在jsfiddle中工作,但当我们将代码复制到应用程序中时就不行了。我想是某个包的版本或者设置搞砸了。是什么导致了这种情况?

EN

回答 1

Stack Overflow用户

发布于 2018-01-18 06:41:31

根据this Stack Overflow post的说法,您不能将".addEventListener“用于自定义jQuery事件(例如"shown.bs.collapse")。

不过,我不能说为什么jQuery的".on“版本不能工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46736640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档