【发布时间】:2012-06-24 06:50:37
【问题描述】:
我有一个网络应用程序,我使用 Backbone.js。
在登录视图中,我使用 jQuery UI 按钮。
在模板代码中我调用$(".btn").button();没有问题。
但是当我想在用户点击按钮并调用后采取行动时:
$('#btnSubmit').button({
disabled : true,
label : "Logging in..."
});
我收到错误:“Uncaught TypeError: Object [object Object] has no method 'button'”(从 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 功能。
【问题讨论】:
标签: javascript jquery-ui javascript-events backbone.js