Backbone.js 在主干视图的datatable行中附加事件

Backbone.js 在主干视图的datatable行中附加事件,backbone.js,datatable,Backbone.js,Datatable,我有这样一个基本观点: var newrow=Backbone.View.extend({ el:"<table>", events:{ 'click .edit':'editrow', 'click .delete':'deleterow' }, render: function() { dat

我有这样一个基本观点:

var newrow=Backbone.View.extend({

        el:"<table>",
        events:{
            'click .edit':'editrow',
            'click .delete':'deleterow'
            },


            render: function()
            {
                data=this.model.toJSON();
                $('table').dataTable().fnAddData([data.name,data.email,data.contact_number,'<span class="edit">Edit</span><span class="delete">Delete</span>']);
                return this;
            },

            editrow:function(){
                alert ("edit);
            },

            deleterow:function(){
            alert("delete");
            }
        })
var newrow=Backbone.View.extend({
el:“,
活动:{
'click.edit':'editrow',
'单击.删除':'deleterow'
},
render:function()
{
data=this.model.toJSON();
$('table').dataTable().fnAddData([data.name,data.email,data.contact_number,'EditDelete']);
归还这个;
},
editrow:函数(){
警报(“编辑”);
},
deleterow:function(){
警告(“删除”);
}
})
我需要附加具有类“edit”跨度的td的单击事件。我知道这不起作用,因为我正在使用datatable函数动态添加行。我正在尝试在预呈现的datatable中添加行。解决方案可能是什么


p.S我已经在其他视图中呈现了一个空表。这可以正常工作,并且datatable可以添加行。但是,我不知道如何在元素中添加单击事件。

视图中很少有问题。如果您修复了这些问题,它可能会起作用

  • 请尝试
    标记名:“表”
    ,而不是
    el:“
    ”。这是为视图设置新元素的方法

  • 代替
    $('table').dataTable()
    。尝试
    这个。$el.dataTable()
    。前者对页面中的所有表元素执行选择,后者引用视图的(
    )元素

只要添加的元素在视图的
el
中,事件就会自动连接。如果由于某种原因无法工作,请在插入新行后尝试调用
this.delegateEvents()

我没有使用标记名:“table”“因为我已经渲染了表,所以我没有创建新元素。嘿,它成功了。我做了el:“.dataTable”,然后是这个。$el.dataTable()。谢谢你的帮助:)