从视图内的HTML元素获取id的问题

时间:2013-04-28 20:48:17

标签: jquery backbone.js

我正在尝试做一个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

1 个答案:

答案 0 :(得分:2)

从这篇文章:How to find the Id of model corresponding to clicked item?

onClick: function(e){
    var hour = e.currentTarget.id;
    //This does work ?
}