1

我正在尝试做一个主干日历应用程序。我有一个模型Event,一个EventView和一个DailyView

加载一个模板,该DailyView模板包含一个表格,其中包含代表小时的单元格列表(例如:)td #09。我想单击单元格并获取它id,但是当我这样做时,我失败了。我想我引用的是el: divfromDailyView而不是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
    }

我曾考虑将单元格添加为子视图(有时为空,有时包含一个Event),但我不喜欢这种方法,除非绝对必要,否则我不希望向 DOM 添加更多元素。

有没有办法可以引用td而不是div

4

1 回答 1

2

来自这篇文章:如何找到与点击项目对应的模型ID?

onClick: function(e){
    var hour = e.currentTarget.id;
    //This does work ?
}
于 2013-04-28T20:56:42.867 回答