backbone.js - 在主干 View 中的数据表行中附加事件

标签 backbone.js datatable

我有这样的主干 View :

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");
            }
        })

我需要将点击事件附加到具有“edit”类跨度的 td。我知道这行不通,因为我正在使用数据表函数动态添加行。我正在尝试在预渲染的数据表中添加行。解决方案可能是什么。

P.S 我已经在其他 View 中渲染了一个空表。这工作正常并且数据表添加了行。但不知道如何在元素中添加点击事件。

最佳答案

在你看来,没有什么事情是有点不对劲的。如果你解决了这些问题,它可能会起作用。

  • 而不是 el:"<table>"尝试tagName:"table" 。这是correct way为 View 设置一个新元素。

  • 而不是 $('table').dataTable() 。尝试this.$el.dataTable() 。前者对页面中的所有表格元素执行选择,后者引用您的 View ( <table> ) 元素。

只要您添加的元素在 View 的 el 范围内事件应该自动连接。如果由于某种原因不起作用,请尝试调用 this.delegateEvents()插入新行后。

关于backbone.js - 在主干 View 中的数据表行中附加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14625288/

相关文章:

javascript - 从数据表中删除 dataTable 类

javascript - 在 Webix 中的数据表上使用 getContext 时,Ajax 不工作

javascript - 将 Backbone 从 0.9 升级到 1.2 后,Backbone View 事件未触发

javascript - 获取结果未定义(Backbone.js)

javascript - 了解主干扩展

c# - 将数据表转换为列表<T>

c# - 如何在绑定(bind)到数据表的 Windows 窗体 dataGridView 中显示时间

javascript - 浏览器的后退按钮破坏了我的 Backbone/Marionette 应用程序

javascript - 类型错误 : undefined is not an object - Safari & IE

c# - ImportRow 使新行列丢失