$.ajax
(データベースから) 更新された html のサーバーを呼び出すために使用するクリック イベントがあります。
div
次に、メソッドを使用して、その html を特定の 内に配置し、.append()
すでに内部にあるものを保持します。
これまでのところ、期待どおりに機能しています。私のジレンマは、新しく追加された html ごとにあります。明確にするために、私のhtmlは、リンクと非表示のスパンを持つdivにすぎません。toggle()
非表示のスパンへのリンクを使用しており、その内容です。
クリック イベントが新しく追加された html をリッスンしていないため、トグルが機能していません。
簡単に修正できると思いますが、今までこれを掘り下げる必要はありませんでした。
だから、ここにページ1のコードがあります:
<div id="latestinfo">
<div class="info">
<a href="javascript:void(0)" class="openinfo">View This</a>
<span style="display:none">Latest story on something</span>
</div>
<div class="info">
<a href="javascript:void(0)" class="openinfo">View This</a>
<span style="display:none">Latest story on something</span>
</div>
</div>
<a href="javascript:void(0)" id="grabmoreinfo">Call Server for More</a>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".openinfo").click(function(){
$(this).next('span').toggle();
});
$("#grabmoreinfo").click(function(){
$.ajax({
url: "latest.php",
data:"formId=grabmore",
success:function(data){ $("#latestinfo").append(data); }
});
});
});
</script>
今 latest.php:
<?php
$var = '
<div class="info">
<a href="javascript:void(0)" class="openinfo">View This</a>
<span style="display:none">Another story on something</span>
</div>
';
echo $var;
?>
したがって、要約すると、メソッドは新しく追加された html に気付かないappend()
間、魅力のように機能します。click()