手风琴div打开后,我正在尝试做某事,但是手风琴打开后,“显示”或“显示”事件没有触发
$(document).on('show shown shown hide hidden', '.accordion-field', function(){
console.log('got it');
});
注意:手风琴场是在处理通过ajax传入的json后动态生成的。
任何人都知道为什么这不起作用。
编辑:
添加静态div(不是通过代码创建,而是写在html上)后,我意识到该事件触发了。
$(document).on('show shown hide hidden', '#xdiv81', function(){
console.log('got it');
} );
如何为动态生成的div做同样的事情
最佳答案
正如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');
}
后者效率更高。