按钮('重置')
问题描述:
使用Backbonejs和一个名为Marionette的插件创建了以下用于验证用户的单页应用程序(由其他人创建),http://backbonedevise.herokuapp.com。我正试图在没有Marionnette的情况下重写它。成功和错误回调有这行代码按钮('重置')
el.find('input.btn-primary').button('reset');
在登录前的HTML看起来像这样
<input type="submit" value="Login" class="btn btn-primary">
换句话说,它不具有类别复位。我假设行el.find('input.btn-primary').button('reset');
以某种方式重置按钮。我试图这样
$('input.btn-primary').button('reset');
重写,但我收到一个错误,
Object has no method button.
你能解释一下我可能做错了,我怎么可能会解决它。
成功回调。
this.model.save(this.model.attributes, {
success: function(userSession, response) {
el.find('form').prepend(BD.Helpers.Notifications.success("Instructions for resetting your password have been sent. Please check your email for further instructions."));
el.find('input.btn-primary').button('reset');
},
答
木偶在其内部实现了一个.button()
方法。
很可能.button()
是一个易于管理按钮状态的钩子,但我没有深入了解它(我对Marionette一无所知)。
下面是木偶的实例,其中.button
定义,尽管有大量的引用它的地方,我发现:
a.fn.button = function (c) {
return this.each(function() {
var d = a(this),
e = d.data("button"),
f = typeof c == "object" && c;
e || d.data("button", e = new b(this, f)), c == "toggle" ? e.toggle() : c && e.setState(c)
})
什么它归结为是,要么你需要弄清楚什么.button()
呢对于你在Marionette中并且自己重新实现它,或者完全没有它。
对于它的价值,jQuery UI的有.button
方法,也因此既然你还在使用jQuery,你可以插入那个英寸
在什么地方'按钮()'来自法?这可能是你需要重新实现的方法 – 2013-02-11 23:13:19
我与@JuanMendes在这一个。我找不到任何对您所指的脚本片段的引用,即使所有已加载的脚本文件都使用Firebug的全文搜索。 – 2013-02-11 23:20:12
'.button()'是作为Marionette的一部分实现的。如果解压链接网站顶部的.js文件,Marionette会直接使用jQuery打包。 – rockerest 2013-02-11 23:23:14