【问题标题】:Backbone View - jquery events binding主干视图 - jquery 事件绑定
【发布时间】:2013-09-24 10:48:15
【问题描述】:

我试图准确了解 jQuery 事件何时以及如何在 Backbone.View 中绑定。 如果我有意见:

var MyView = Backbone.View.extend({ events: {"click" : "handler"} });

backbone 会在调用 render() 时绑定 click 事件吗?在附加身体?还有什么?

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

    调用初始化后绑定事件处理程序。这里是source code,注意delegateEvents方法:

    var View = Backbone.View = function(options) {
        this.cid = _.uniqueId('view');
        this._configure(options || {});
        this._ensureElement();
        this.initialize.apply(this, arguments);
        this.delegateEvents();
    };
    

    delegateEvents 方法的 jQuery 代码如下:

    this.$el.on(eventName, selector, method);
    

    一个具体的例子,监听视图元素上的点击事件,并将一个带有加载更多类的按钮的点击委托给一个处理程序:

    this.$el.on("click", ".load-more", function(){});
    

    【讨论】:

      猜你喜欢
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      相关资源
      最近更新 更多