2

经过大量阅读帖子和摆弄后,我认为这是为我的 jQuery 数据表的每一行附加一个双击“处理程序”:

   $('#myTable').find('tr').dblclick( function(e){
        var ref = $(this).find('td:first').text();
        someThingToDoWithTextFromFirstCell(ref);
   });

不幸的是,这似乎只适用于第一页上的行。我尝试做这样的事情作为一种解决方法(分页时基本上做同样的事情):

   $('#myTable').on('page', function () {
       $('#myTable').find('tr').dblclick( function(e){
          var ref = $(this).find('td:first').text();
          someThingToDoWithTextFromFirstCell(ref);
       });
     } );

但是,当它触发时,没有找到 tr,所以什么也没有发生。我假设事件在数据表有新行之前触发?

有谁知道我怎样才能让它工作?

这是一个 JS Fiddle 示例,Nikola。谢谢你的时间。双击一行并获得警报,单击下一步并双击一行并没有警报。 JS 小提琴示例

这是您可以为不起作用的解决方法添加的内容:

 $('#example').on('page', function () {
   $('#example').find('tr').dblclick( function(e){
      var ref = $(this).find('td:first').text();
      alert(ref);
   });
 } );
4

1 回答 1

3

你可以在这里找到答案。

因此,对于动态创建的元素,您应该使用:

$(document).on("dblclick", "#myTable tr", function () {
    //code here
});
于 2014-02-01T15:27:57.150 回答