更新
对不起,我有点跑题了。我假设您已经有一个 jQuery 插件,以便在任何 DOM 元素之上显示/隐藏加载覆盖。
因此,要实施我的解决方案,您需要一个。
注意:据我所知,您不能将 应用于$.mobile.loading()
特定的 DOM 元素。
例如,您可以使用jquery-loadmask 之类的东西,然后重新设置 CSS 样式以匹配$.mobile.loading
它。
或者我个人使用 github 上的这个简单的 jQuery 函数来实现相同的行为(可能更轻)。
原来的
你有没有尝试过:
oldview.$el.loading('show');
也是ajaxSend
一个全局 Ajax 事件,而且不与任何 DOM 元素关联,而只与document.body
元素关联,除了在视图中处理之外,您别无选择show/hide
:
var OldView = Backbone.View.extend({
//...
events: {
"click .the-button-trigering-the-ajax-call": "onButtonClicked"
},
onButtonClicked: function (e) {
this.$el.loading('show');
},
// And you could get rid of it when rendering
render: function () {
this.$el.loading('hide');
//...
return this;
}
});
只有一种解决方案。