如何在折叠之前从 jQuery Mobile 获取 .ui-collapsible 的“折叠”事件
Posted
技术标签:
【中文标题】如何在折叠之前从 jQuery Mobile 获取 .ui-collapsible 的“折叠”事件【英文标题】:How to get an "collapse" event of a .ui-collapsible from jQuery Mobile before it collapses 【发布时间】:2014-04-26 07:20:49 【问题描述】:我愿意:
$( ".ui-collapsible" ).on("collapse", onCollapse );
然后:
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
而不是collapsiblecollapse
?
@FrédéricHamidi 我要崩溃了。无论如何谢谢。
另一种选择是手动折叠/展开它们,点击可折叠的标题。
您可以发布您的 html/可折叠标记示例吗?
@Omar,我找到了解决方法。我将属性 visible="true" 添加到一个打开的元素,并像这样更改代码:var onCollapse = function(e) // close all open input fields on collapse $(this).find( ".closeable[visible='true'] [data-role='button']" ) .trigger( "click" , "enter" ); ;
【参考方案1】:
我实际上并没有检查足够多的优惠来确定它是否在崩溃之前触发,但您仍然可以尝试:
$('#my-collaspible').bind('expand', function ()
alert('Expanded');
).bind('collapse', function ()
alert('Collapsed');
);
http://jsfiddle.net/6txWy/2062/
来自JQuery-Mobile collapsible expand/collapse event
【讨论】:
以上是关于如何在折叠之前从 jQuery Mobile 获取 .ui-collapsible 的“折叠”事件的主要内容,如果未能解决你的问题,请参考以下文章
如何将“slideup()”和“slidedown()”函数应用于可折叠的 Jquery Mobile 1.4.5?小提琴手