Javascript Backbone.js删除未触发的事件
我有下面的视图,我试图将click事件绑定到delete按钮,但它似乎没有触发任何东西。控制台中没有任何错误,只是似乎没有绑定“click”事件 delete元素深入嵌套在一堆其他元素中,不确定这是否重要,我也尝试将其作为直接子元素,但仍然没有成功Javascript Backbone.js删除未触发的事件,javascript,backbone.js,Javascript,Backbone.js,我有下面的视图,我试图将click事件绑定到delete按钮,但它似乎没有触发任何东西。控制台中没有任何错误,只是似乎没有绑定“click”事件 delete元素深入嵌套在一堆其他元素中,不确定这是否重要,我也尝试将其作为直接子元素,但仍然没有成功 var ListRow = Backbone.View.extend( { events: { 'click span.delete': 'remove' }, initialize: functio
var ListRow = Backbone.View.extend(
{
events:
{
'click span.delete': 'remove'
},
initialize: function()
{
_.bindAll(this, 'render', 'unrender', 'remove');
this.model.bind('remove', this.unrender);
},
render: function()
{
this.el = _.template($('#tpl-sTableList_' + key + 'Row').html());
return this;
},
unrender: function()
{
$(this.el).fadeOut();
},
remove: function()
{
this.model.destroy();
}
});
模型上没有默认的
remove
事件,集合中只有一个remove事件,因此,如果要在模型从集合中移除时移除视图,最好放置一个
this.collection.bind('remove', this.onRemove, this);
在ListView中(根据您的示例,我假设您使用的是ListView和ListItemView),然后您的
onRemove
方法将模型作为参数传递,以便您可以找到与其关联的视图。发现问题,是因为我只设置了el对象,而没有渲染它,所以没有:
this.el =
应该是
$(this.el).html();
否则,所有操作都会按预期进行。仍然无法使其正常工作,我认为当我单击span.delete时,至少会调用remove函数,但似乎不会被触发。
是否存在此。$el
?所以它应该是this.$el.html()