2

我正在使用 jquery mobile 并使用 $().trigger('create') 函数来启动它。在此函数完成使用新样式修改 html 后,我需要一个回调。这可能吗?

我需要这个,因为在 ajax 加载新内容后我需要屏幕的新尺寸。

4

2 回答 2

0

我会使用 TriggerHandler()。您可以绑定到您的自定义事件...

请参阅链接底部的 DEMO:

http://api.jquery.com/triggerHandler/

于 2013-05-10T00:06:41.190 回答
0

我发现当我执行 ax$.trigger("create") 时会触发“updatelayout”事件。这来自一些使用 Backbone 的 js ......

var content$ = this.$el.find("#somediv");
content$.on('updatelayout', function () { alert("woo hoo"); });
content$.trigger("create"); // add some JQM magic, wait for the 'woo hoo'

来自 jQuery api:

“此事件由框架内动态显示/隐藏内容的组件触发,旨在作为一种通用机制通知其他组件它们可能需要更新其大小或位置。”

事实证明,细节中有魔鬼。并非所有触发的 JQM 内容都会导致 JQ“updatelayout”事件。在另一种情况下,我必须添加一个带有 'data-role="controlgroup" 的包装器 div 才能触发它。需要更多的挖掘...

于 2013-06-23T02:28:25.623 回答