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 に答える