无法获取主干视图以响应 this.on() 添加的事件



我想在我的视图中监听事件/s,但只有在经过一些处理之后(具体来说,我只在成功的ajax调用之后响应这些事件-这一切都在工作,只是这个事件的东西我无法想象)。

正因为如此,使用事件属性不会达到我所追求的。

我是新的骨干,我在什么问题是我的this.on('click'…)下面的代码(backboneclick()不火)的损失。

我已经包含了下面的事件属性,因为我把它放在测试中,它触发了ourClick()。jqueryClicked()也会触发。

我是否错过了一些非常明显的东西?

我知道还有很多关于视图不触发事件的问题,但是我没有看到任何与这个问题匹配的问题。

感谢任何帮助。

var InputListView = Backbone.View.extend({
    el: '#input-list',
    events: {
        'click input'       : 'ourClick'
    },
    initialize: function(options) {         
        this.$el.click(this.jqueryClicked);
        this.on('click', this.backboneClicked);
    },
    ourClick: function(e) {
        alert('ourClick');
    },
    backboneClicked: function(e) {
        alert('backboneClicked');
    },
    jqueryClicked: function(e) {
        alert('jqueryClicked');
    }
});

this.on('click', this.backboneClicked);

你期望它有什么行为?你不能点击视图,它是一个对象,不是DOM元素。如果你真的想测试它是否有效,试着在你的行后面添加一个this.trigger('click')

我仍然不明白这里的重点是什么。如果你正在使用Backbone的on方法,你通常会尝试收听Backbone事件(或自定义事件),而不是UI事件。

相关内容

最新更新