我有一个网络应用程序,我使用 Backbone.js。
在登录视图中,我使用 jQuery UI 按钮。在我调用的模板代码$(".btn").button();
中没有问题。
但是当我想在用户单击按钮并调用后采取行动时:
$('#btnSubmit').button({
disabled : true,
label : "Logging in..."
});
我收到错误消息:“未捕获的类型错误:对象 [对象对象] 没有方法‘按钮’ ”(从 chrome devTools 控制台复制)。
奇怪的是,如果我在 chromeDevtools 控制台中运行此代码行,它会完美运行!我认为这与 DOM 以及我在偶数触发时所处的状态有关。 知道有什么问题吗?
一些细节:
Including the jQuery UI library:
define([
'jQuery',
'jQueryui',
/*...*/
], function($, jQueryui,...) {
var loginView = Backbone.View
.extend({
/*...*/
events : {
"click #btnSubmit" : "login"
},
/*...*/
login : function() {
$('#btnSubmit').button({
disabled : true,
label : "Logging in..."
});
},
}
});
return new loginView;
});
编辑:
我尝试了斯蒂芬解决方案并尝试使用:
this.$el.find('#btnSubmit').button({
disabled : true,
label : "Logging in..."
});
还是行不通。我认为这意味着我无法访问所有 jQuery UI 功能。