1

Javascript を使用して次の表を動的に追加しました。

    <table class="ActionMenu">
<tr>
<td>
<p>Ghanshyam</p>
</td>
</tr>
</table>

このテーブルのクリックでアラートを取得したい..

私は試した:

$('body').on("click", ".ActionMenu tr", function (e) {
      alert("abcd");
 });

$('.ActionMenu ').on("click", "tr", function(){
   //do something
});

$('.ActionMenu').live('click',function(){});

$('#ActionTab').delegate('.someClass','click',function(){});

しかし、次のメソッドはどれも機能しません..どうすれば目標を達成できますか? ありがとう

4

3 に答える 3

2

$(document).ready()コードをブロックで囲んでいますか? そうでない場合は、document.ready 関数内に囲んでみてください

$(function(){
$('body').on("click", ".ActionMenu tr", function (e) {
      alert("abcd");
 });

$('.ActionMenu ').on("click", "tr", function(){
   //do something
});

$('.ActionMenu').live('click',function(){});

$('#ActionTab').delegate('.someClass','click',function(){});
});
于 2012-05-16T11:02:32.620 に答える
1

あなたのセレクターは少しずれています。一見すると、次を試してください。

$('table.ActionMenu tr').on('click',callback);

これは機能していないため、いくつかのことが提案されています。

  • 使用している jQuery のバージョンon。古いバージョンを使用している場合は動作しない可能性があります
  • 試しました$(body).on('click', '.ActionMenu tr', function() { alert('clicked'); });か?必要に応じて交換.on.liveます。
  • 古典的な問題ですが、忘れがちです: どちらかのクラス名、ID のタイプミスをチェックしましたか? 両側 (サーバーと jQuery) で? - あなたは、決して知らない
  • すべてのコードは$(document).ready(function(){/*script goes here...*/});
  • 考えられる構文エラーやその他のメッセージがないかコンソールを確認してください
于 2012-05-16T10:58:51.593 に答える
1
$(document.body).on('click', '.ActionMenu tr', function() { alert('clicked'); });

http://jsfiddle.net/MWvMH/1/を参照してください

于 2012-05-16T11:02:55.640 に答える