Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js删除未触发的事件_Javascript_Backbone.js - Fatal编程技术网

Javascript Backbone.js删除未触发的事件

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

我有下面的视图,我试图将click事件绑定到delete按钮,但它似乎没有触发任何东西。控制台中没有任何错误,只是似乎没有绑定“click”事件

delete元素深入嵌套在一堆其他元素中,不确定这是否重要,我也尝试将其作为直接子元素,但仍然没有成功

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()