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()。谢谢你的帮助:)