我们已经研究并尝试了所有可以找到的内容,但无法看到为什么按钮点击甚至没有发射。如果我们更改视图呈现html颜色,它会显示更改,所以视图呈现工作正常,但是当单击登录按钮时 - >无。没有错误显示在js控制台中。试用backbone.js <button>点击不发射
button#login_button
和#login_button
和login_button
- 什么都没有。我们缺少什么? THKS任何帮助
SessionView = Backbone.View.extend({
el: ('#session'),
initialize:function() {
this.render();
},
render:function() {
if (!session) {
$(this.el).html(
"<button id=\"login_button\" class=\"login_button black\">"+
"Login"+
"</button>");
return this;
} else {
$(this.el).html(
"<button id=\"logout_button\" class=\"login_button black\">"+
"Logout</button>");
return this;
}
},
events: {
"click login_button" : "login",
"click logout_button": "logout"
},
login: function(){
alert("login");
console.log("login dialog");
//var loginView = new LoginView();
//loginView.render().showModal();
},
logout: function(){
alert("You Have Logged Out");
}
});
虽然你说过你用'#login_button'试过,但我有点同意lib3d,它应该可以工作。还有什么可能是错误的:1)你指定的'el'不存在(我想不是这种情况)2)某些监听器返回false或停止传播,因此你的回调函数没有被调用。另外,'this。$ el' ='$(this.el)'。 – Loamhoof 2013-04-20 17:42:00
页面上是否有其他元素具有相同的ID?尝试将事件绑定到类并查看会发生什么。 – 2013-04-20 18:17:38