骨干事件触发器

时间:2011-09-29 16:51:00

标签: jquery backbone.js

我想从我的骨干视图类触发一个自定义事件,然后我实例化我想要监听事件的视图。

简化示例:

var view = Backbone.View.extend({
     render:function(){
         this.trigger('customEvent', "working");
     }
});

//用jquery ready方法分隔js文件。

$(function() {
    var myView = new view();
    myView.bind('customEvent', this.customEventHandler);

    function customEventHandler() {
        // do stuff
    }
});

1 个答案:

答案 0 :(得分:3)

如果你得到的错误是“回调[0]未定义”,那么问题在于事件绑定。你在哪里:

myView.bind('customEvent', this.customEventHandler);

this引用了什么,是否有customEventHandler方法?如果这一切都发生在全局范围内,您只需传入一个普通函数,不需要this

var view = Backbone.View.extend({
     render:function(){
      _this.trigger('customEvent', "working");
     }
});

// define your callback
function customEventHandler() {
    // do stuff
}

myView = new view();
myView.bind('customEvent', customEventHandler);

即使使用$(document).ready()功能,也可以使用。