我們已經研究並嘗試了所有可以找到的內容,但無法看到爲什麼按鈕點擊甚至沒有發射。如果我們更改視圖呈現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