AJAXを使用してrefreshFeed()を呼び出してコンテンツを更新するボタンがあります。私はまだAJAXによって読み込まれたコンテンツを操作する必要があるので、AJAXがロードされたコンテンツのいくつかのリンクに.live()を追加して、他のAJAX呼び出しを開始するようにします。 「コメント」ボタンは、非表示の入力フィールドからいくつかの値を収集し、それらをサーバに送信します。jQuery - AJAX呼び出しの後、古い要素はまだDOMに存在しますか?削除するには?
リフレッシュをクリックしないとうまくいきます。しかし、いくつかのリフレッシュ後、.live( 'click'、function(){})bond( "comment"ボタン)を持つリンクをクリックすると、サーバーに複数のPOSTリクエストが送信されることがわかりました。私はそれは古いDOM要素がまだ存在するためだと思うので、refreshFeed()の.remove()、.empty()を使ってすべての要素を削除しようとしました。しかし、問題は残っている。
$.ajaxSetup({
cache: false
});
$(".submit-reply").live('click', function() {
var mIDValue = $(this).parent().find("input.re-fb-msg-id").val();
var accessValue = $(this).parent().find("input.re-fb-token").val();
var commentValue = $(this).parent().find(".comment").val();
var postReplyUrl = "fconfirm.jsp";
var ajax_reply_load = "<img src='img/scanningsmall.gif' alt='loading...' />";
$(this).parent().parent().find(".result-note").show();
$(this).parent().parent().find(".result-note .out-container").html(ajax_reply_load).fadeIn(300).load(postReplyUrl, {
mID: mIDValue,
access: accessValue,
comment: commentValue,
});
$(this).parent().hide();
});
function refreshFeed() {
$.ajaxSetup({
cache: false
});
$("#feeds div").remove();
$(".submit-reply").remove();
var loadingFeeds = "<div class='loading-feed'><img src='img/scanningsmall.gif' alt='loading...' /><p>Loading...</p></div>"
var feedURL = "pbsc.htm"
var feedParameter = "clientId=<%=clientId%>&getPostTweets=1&rescan=1";
$("#feeds").html(loadingFeeds).load(feedURL, feedParameter);
}
私はjQueryのに新しいですし、実際には問題がどこにあるかわからない。ここで
はコードです。私を助けてください!ありがとうございました!
これに関連するHTMLはありますか? – kasdega
ありがとうございます。しかし、HTMLは投稿するには複雑すぎる。コードをダブルチェックして、.find()パスが正しいと確信しています。なぜなら、ページを更新しないと、すべてが正しく動作するからです。 – um88hao