我的项目有一个弹出窗口,其中包含几个可折叠的元素。当弹出窗口首次显示时,可折叠元素将折叠。用户展开一个或多个元素,然后执行操作。
问题是,我想在用户采取行动后重置弹出窗口,以便在下次显示弹出窗口时关闭所有可折叠内容。我试图触发崩溃,如下所示。我读过几篇帖子,建议这个触发器应该有效,但我没有成功。下面包含一个jsfiddle。jsfiddle中的示例只有一个可折叠元素,但显示了问题。。。。
非常感谢您的帮助和建议。
$('#manageChecklistPopup').on('popupafterclose', function(event) {
// collapse not working :(
console.log('popup has closed.');
$('.ui-collapsible').trigger('collapse');
});
https://jsfiddle.net/qyg53ejy/
您需要调用collapse方法,而不是触发事件:
$('#createChecklist').collapsible( "collapse" );
更新FIDDLE
您可以执行以下操作之一来关闭可折叠:
提供了调用折叠方法,但jQuery ui
$('#createChecklist').collapsible( "collapse" );
或者触发点击(你必须首先检查它是否打开,否则点击会打开它):
$('#createChecklist .ui-collapsible-heading-toggle').trigger('click');
或移除类别:
$('#createChecklist .ui-collapsible-content').addClass('ui-collapsible-content-collapsed');
演示:https://jsfiddle.net/qyg53ejy/2/