0

希望有人可以在这里帮我....

我将 DataTables jquery 插件设置为在从服务器返回的 json 数据中返回 HTML。一行数据的示例如下所示:

["<input type='checkbox' id='2' />","<img src='images/playbtn.png' width='24' height='24' /><a href='javascript:void(0)' onClick='openDialog(0)'>oK5ktqWTOsiyP5wH75tFj2yIY8XprWOwB</a>","11/18/2010 08:16:28 PM","juan j","juan j","incoming","00:02:38","","<img src='images/share.png' class='tableimage' title='Share Call With Friends' /> <img src='images/download.png' class='tableimage' title='Download Call' /> <img src='images/page_edit.png' class='tableimage' title='Edit Call Info' /> <img src='images/trash.gif' class='tableimage' title='Delete Call' />"]

显示器工作正常,所有数据都很好地返回。

第一个标签的目的是打开一个 jquery 对话窗口。我已经正确设置了 jquery,并且我知道它是正确编写的。但是我的问题是,当我单击 DataTable 单元格内的链接时,什么也没有发生,并且我在 firebug 中看到“安全错误”代码:“1000”,我在函数中输入的警报甚至没有触发。我不知道这个错误是什么意思,但起初我认为这是页面上有很多 div 的结果,但后来我做了一个页面的快速示例,其中只有网格和 div作为对话框出现..这也不起作用。有谁知道为什么DataTable会触发这种错误?

谢谢!

4

1 回答 1

0

我不知道您为什么会收到此安全错误代码,但您可以尝试在表格单元格中添加内联 JavaScript 而不是在表格中添加一个单击事件处理程序并使用事件委托来处理该事件。这是一个例子:

$('table').delegate('a', 'click', function(e) {

    openDialog(0);

    // note: 'this' is the 'a' DOM element, so you can do additional things with it.  For example:
    var $a = $(this);
    var href = $a.attr('href');
    // now do something with href

});

我一直在将这种技术与 DataTables 一起使用,并且效果很好。

于 2010-12-23T14:16:04.890 回答