0

ID「mydiv」でDIVを定義するメインページがあります。次に、ajax を使用して、その DIV 内にリンクされたテキストを読み込みます。

誰かがそれらのリンクをクリックしたときに何かをしたいので、以下のようにjqueryを定義しました。

$("#mydiv > a").live('click',function(){
  alert($(this).text());
});

読み込まれた内容は以下の形式です

<a style="cursor:pointer;">Text 1</a>
<a style="cursor:pointer;">Text 2</a>
<a style="cursor:pointer;">Text 3</a>

誰か私が間違っていることを教えてください。

ありがとう、

4

3 に答える 3

3

内部のコンテンツをDIV with id "mydiv"動的にロードしているため(ajaxによって)...デリゲートイベントで使用

$("#mydiv").on('click','a',function(e){
  e.preventDefault();  //you may not need this... but this stops the default behaviour of <a> tag 
  alert($(this).text());
});
于 2013-01-25T11:46:13.260 に答える
1

コンテンツを動的にロードしているため、 jQueryバージョン1.9.0.on()ではハンドラーがこれに使用されます。

またはに直接(他のすべての要素の親です)する必要がありdelegate the eventます。nearest existing parentdocument

$("#mydiv").on('click','a', function(){
  alert($(this).text());
});

また:

$(document).on('click','#mydiv a', function(){
  alert($(this).text());
});
于 2013-01-25T11:53:06.543 に答える
1

このように使えます。デモ

$(document).ready(function(){

$("a").on('click',function(){
  alert($(this).text());
});

});

html

 <a style="cursor:pointer;">Text 1</a>
<a style="cursor:pointer;">Text 2</a>
<a style="cursor:pointer;">Text 3</a>
于 2013-01-25T11:49:42.167 に答える