我有一個網站與骨幹開發。我創建了一個應用程序,並在其中創建了一些子視圖。骨幹子視圖事件
在此子視圖我可以有一個div(id爲close
),如果我點擊它,我要觸發一個事件。但事件並不火,我不知道爲什麼。你能向我解釋我對這件事有什麼不妥嗎?
的問題是在Search.Views.Product
,與事件的子視圖。
這是我的應用程序(我已經削減一些閱讀以及應用程序):
//main app
Search.Views.App = Backbone.View.extend({
initialize:function() {
var this_app = this;
this.subView = {
Product : new Search.Views.Product({
base_url:this_app.base_url || '',
collection : new Search.Collections.Products()
})
}
},
render:function (options) {
var defaults = {
products:{
wrap:"ul",
id:"product-results",
class:""
}
}
var settings = $.extend(true, defaults, options);
this.renderProducts(settings);
},
renderProducts:function (settings) {
$(this.id).html(this.wrap(this.subView.Product.getTemplate(settings.products.view), settings.products));
}
});
//collection
Search.Collections.Products = Backbone.Collection.extend({
model: Search.Models.Product,
initialize:function() {
}
});
Search.Models.Product = Backbone.Model.extend({
defaults: search.product.defaults || {},
initialize:function() {
}
});
Search.Views.Product = Backbone.View.extend({
//doesn't fire this event!!!--------------------------------------
events: {
'click #close': 'closeResults',
'click': 'closeResults'
},
closeResults:function (event) {
console.log('Close results');
$('#close').html('test');
},
getTemplate:function (view) {
var data = this.collection.toJSON() || this.model.toJSON();
data = this.normalize(data);
var template = Handlebars.compile($(this.template).html());
return template({view:view, results:data});
},
render:function() {
// non utilizzato per ora
return this;
}
});
不起作用,我在 – 2013-04-27 10:20:30
之前曾與班級一起試過好吧。更普遍的'點擊'裝訂火嗎? – 2013-04-27 10:39:02
不,它不會觸發 – 2013-04-27 10:39:22