1ページのサイトに次のコードがあります:
<section class="block" id="panel1">
</section>
<section class="block" id="panel2">
<div class="loadcontent">
<div class="vcard">
[content here]
<a href="detail1.html">Proceed to detail level1</a>
</div>
</div>
</section>
<section class="block" id="panel3">
<div class="loadcontent">
<div class="vcard">
[content here]
</div>
</div>
</section>
私が使用しているjqueryはこれです:
<script>
jQuery(function($) {
$(".loadcontent").on("click","a",function(ev) {
ev.preventDefault();
var $el = $(this);
var $lc = $el.closest(".loadcontent");
URLtarget = $el.attr("href");
//alert("URL:"+URLtarget+"\nZIndex:"+zindex+"\nATTR:"+$el.className);
$.ajax({
url: URLtarget,
data: {},
type: 'post',
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
},
success: function(data){
$lc.find(".vcard").fadeOut(1000,function() {
});
$lc.append(data);
}
});
});
});
私detail1.html
は次のコードを持っています:
<div class="vcard">
<div><a href="#" class="closeme"> × CLOSE </a></div>
[content here]
<a href="detail2.html">Proceed to detail level1</a>
</div>
詳細 1とdetail2.html
同じですが、コンテンツ テンプレート (およびデータ) が異なります。最初のリンクを起動すると、detail1.html が正常に読み込まれますが、detail2.html の detail1.html 内をクリックすると、新しいページが表示されます (ajax が機能しません)。$.on() は、dom に追加されたすべてのイベントを「リッスン」していると思いましたが、正しいアプローチは何ですか?
また、リンクに別の .on を使用しようとしまし.closeme
たが、うまくいきません。ドキュメントの先頭に移動します。
誰でも光を当てることができますか?