我想在手风琴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做同样的事情
答案 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');
}
后者更有效率。