如何获得一个;“崩溃”;可从jQuery Mobile折叠的.ui在折叠之前发生的事件

如何获得一个;“崩溃”;可从jQuery Mobile折叠的.ui在折叠之前发生的事件,jquery,events,jquery-mobile,collapse,Jquery,Events,Jquery Mobile,Collapse,我有: 然后: 但是可折叠元素已经折叠,因此不再有可见元素 有没有办法在实际崩溃之前获取此事件?我实际上没有检查足够的产品,以确定它是否在崩溃之前触发,但您仍然可以尝试: var onCollapse = function(e) { // close all open input fields on collapse $(this).find( ".closeable [data-role='button']" ) .filter(":visible")

我有:

然后:

但是可折叠元素已经折叠,因此不再有可见元素


有没有办法在实际崩溃之前获取此事件?

我实际上没有检查足够的产品,以确定它是否在崩溃之前触发,但您仍然可以尝试:

var onCollapse = function(e) {
    // close all open input fields on collapse
    $(this).find( ".closeable [data-role='button']" )
           .filter(":visible")
           .trigger( "click" , "enter" );
};


否,除非扩展小部件以支持新事件。您使用的是哪个版本的jQuery Mobile?你真的绑定到了
collapse
而不是
collapsablecollapse
?@FrédéricHamidi我绑定到了collapse。反正是Thx。另一个选项是单击可折叠的标题手动折叠/展开它们。你能发布html/可折叠标记的示例吗?@Omar,我找到了一个解决方法。我向一个打开的元素添加了一个visible=“true”属性,修改代码如下:
var onCollapse=function(e){//close collapse$上所有打开的输入字段(this)
var onCollapse = function(e) {
    // close all open input fields on collapse
    $(this).find( ".closeable [data-role='button']" )
           .filter(":visible")
           .trigger( "click" , "enter" );
};
 $('#my-collaspible').bind('expand', function () {
    alert('Expanded');
 }).bind('collapse', function () {
    alert('Collapsed');
 });