-1

私は次のようにテーブル行のクリックイベントをバインドしていました:

$('#example tbody > tr').on('click', function() {
    console.log("i clicked on a row");
});

しかし、それはもう機能していません。jQueryを1.8.0から1.9.1(最新)に再試行しましたが、何も実行されません。それがtwitter-bootstrap(bootstrapcdnから取得)であるかどうかを確認しました:2.1.0から2.3.1まで何も変更されていません。

私のテスト設定はFireFox/Chromeの最新版です。このウェブサイトは、jQueryに加えてtwitterブートストラップとDatatablesプラグイン/cssを備えたsymfony2で実行されています。

だから、質問:

  1. それをデバッグする方法は?
  2. 解決策はありますか?
4

1 に答える 1

1

委任されたイベントを呼び出す正しい方法はon、最も近い静的要素に委任することです。

これを試して

 $(function(){ //incase you missed the doc.ready
   $('#example tbody').on('click','tr', function () {
    console.log("i clicked on a row");
   });
});

また

$(document).on('click','#example tbody tr', function () {
  console.log("i clicked on a row");
});

1onつ目は、2つ目よりも優れており、高速です。イベントが呼び出されたときだけです。クリックが委任される要素は、ドキュメント内に存在する必要があります。

于 2013-03-18T14:46:40.503 に答える