我想在我的视图中听取event / s,但只是经过一些处理(具体来说,我只是在成功的ajax调用之后响应这些事件 - 这一切都在工作,这只是这个事件的东西我无法想象)。
因此,使用events属性不会实现我所追求的目标。
我是骨干的新手,我不知道我的this.on('click'...)代码问题是什么(backboneClicked()不会触发)。
我已经将下面的事件属性包括在内,因为我将其置于测试中并触发了myClick()。 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');
}
});
答案 0 :(得分:1)
this.on('click', this.backboneClicked);
您对此有何期待?你无法点击一个视图,它是一个对象,而不是一个DOM元素......虽然如果你真的想测试它是否有效,请尝试在你的行之后添加一个this.trigger('click')
。
尽管如此,我还没有明白这一点。如果您正在使用Backbone的on
方法,那么您通常会尝试收听Backbone事件(或自定义事件),而不是UI事件。