0
 $('a.reply_links').bind('click', function(e) { 

  var url = $(this).attr('href');
  $('#comment_results').load(url); 
  // load the html response into a DOM element
  e.preventDefault(); // stop the browser from following the link

  return false;
});

1 ページに複数のコメントがあります。すべてのコメントには返信リンクがあります。各リンクをクリックすると、すべてのコメントがデータベースから選択されて div (#comment_results) に読み込まれる php ファイルに移動します。さらに、クリックされた返信リンクには、返信フォームが含まれています。

上記のコードは、1 つの返信リンクをクリックすると正常に動作します。ただし、別のコメントの別の返信リンクをクリックすると、出力を含む php ファイルにリダイレクトされます。HTMLコードは以下です。リンクをクリックすると、php ファイルはその特定のコメントに返信フォームを追加します。

<div class="row">
<div id="comment_results" class="large-12 columns">

      <div class="panel"><div class="row" id="116">
      <div class="large-10 columns">
      <p>4 hours ago&nbsp;by&nbsp;<strong>Julian</strong>
      <br />Comment One</p></div>
      <div class="large-2 columns right">
      <a class="reply_links" href="mylink to php file">reply</a>
      </div></div></div>

      <div class="panel"><div class="row" id="115">
      <div class="large-10 columns">
      <p>5 hours ago&nbsp;by&nbsp;<strong>Julian</strong><br />
       Comment Two</p></div>
       <div class="large-2 columns right">
       <a class="reply_links" href="mylink to php file">reply</a>
      </div></div></div>

</div>
</div>

ありがとうジリアン

4

2 に答える 2

0

.reply_linksリンクが 内にある場合は、呼び出しに#comment_results置き換えられるため、ページが読み込まれる最初のときにのみ機能します。適切なバージョンの jQuery を使用している場合、Claudio による提案はおそらく最も簡単な解決策です。それができない場合は、イベントの委任について調べてください。この場合、サンプル マークアップを提供すると、問題の根本原因を特定するのにも役立ちます。.load().bind()

于 2013-06-19T19:44:45.910 に答える