我想在我的视图中监听事件/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事件。