我正在尝试做一个Backbone日历应用程序。我有一个模型Event
,一个EventView
和一个DailyView
。
DailyView
加载一个模板,该模板包含一个表格,其中包含表示小时的单元格列表(例如:{td #09
}。我想单击单元格并获取其id
,但是当我这样做时,我失败了。我想我引用了来自el: div
的{{1}}而不是DailyView
。
td
我曾想过将单元格添加为子视图(有时是空的,有时包含DailyView = Backbone.View.extend({
tagName: "div",
template: _.template($('#daily-view').html()),
events: {
'click td': 'onClick'
},
initialize: function(){
_.bindAll(this, 'render');
this.model.bind('change', this.render, this);
this.render();
},
render: function(){
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
onClick: function(){
var hour= $(this.el).attr("id");
//This doesn't work
}
),但我不喜欢这种方法,我不想在DOM中添加更多的元素除非这是绝对必要的。
我有没有办法引用Event
代替td
?
答案 0 :(得分:2)
从这篇文章:How to find the Id of model corresponding to clicked item?
onClick: function(e){
var hour = e.currentTarget.id;
//This does work ?
}