DOM要素にバインドされたJqueryハンドラがあります。JQuery:イベントハンドラをリフレッシュする方法
$('.details-control').click(function() {
var tr = $(this).closest('tr.parentRow');
var row = table.row(tr);
var nestedTable = tr.children('td.nested').children('table.nested').clone(true);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(nestedTable).show();
tr.addClass('shown');
}
});
上記要素は、ページ分割テーブルであるため、テーブルは、ページ変更で(「.details対照」)の要素をページ分割取得し、これらのイベントが取り付けられていないとき。
これらの新しい$( 'details-control')要素にイベントを添付したいと思います。
私は考えることができる唯一の方法は、以下のようなコードを再度書き換えることである...
$('.pagination').click(function() {
//copy-paste $('.details-control').click(function() {....
});
しかし、私はより良い方法がなければならないと思います..しかし、私は「ので、何も私の検索しても来ませんこの検索条件に該当する検索用語がわからない
詳細コントロールイベントの名前を付けて呼び出す方法はありますか、コピー貼り付けやハンドラの再取り付けや更新の必要はありませんか?
'.pagination'は' .details-control'の親ではありません。 'details-control'は私のテーブルにあり、' .pagination'はありません。 – Phil
@Philさて、置き換えられることのない '.details-control'の最も近い親でイベントデリゲーションを使用してください。 – plalx
私はそれについて今読んでいます、私は親としてテーブルを使用できると思います。ありがとう! – Phil