无法以编程方式关闭 jQuery 移动弹出窗口中的可折叠



我的项目有一个弹出窗口,其中包含几个可折叠的元素。当弹出窗口首次显示时,可折叠元素将折叠。用户展开一个或多个元素,然后执行操作。

问题是,我想在用户采取行动后重置弹出窗口,以便在下次显示弹出窗口时关闭所有可折叠内容。我试图触发崩溃,如下所示。我读过几篇帖子,建议这个触发器应该有效,但我没有成功。下面包含一个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/

最新更新