折叠事件不会触发Bootstrap 2.3.2 JQuery 1.10

时间:2013-12-06 20:29:08

标签: javascript jquery twitter-bootstrap

我想在手风琴div打开后做一些事情,但手风琴打开后“显示”或“显示”事件不会触发

$(document).on('show shown shown hide hidden', '.accordion-field', function(){
    console.log('got it'); 
});

注意:在通过ajax处理一些json之后动态生成accordion-field。

任何人都知道为什么这不起作用。

编辑:

添加一个静态div(不是通过代码创建但写在html上)后我意识到事件已经触发。

$(document).on('show shown hide hidden', '#xdiv81', function(){
    console.log('got it');
} );

我如何为动态生成的div做同样的事情

1 个答案:

答案 0 :(得分:2)

正如Vizkos所提到的那样,问题在于我在生成元素之前将div绑定到“显示”和“隐藏”事件。

解决方案是在生成之后移动招标。

generateDivs();
$(document).on('show shown hide hidden', '#xdiv81', function(){
    console.log('got it');
} );

generateDivs();
$('#xdiv81').on('show shown hide hidden', function(){
    console.log('got it');
}

后者更有效率。