У меня есть кнопка для обновления содержимого с помощью AJAX, вызывающая refreshFeed ().Мне все еще нужно манипулировать контентом, загруженным AJAX, поэтому я добавил .live () к некоторым ссылкам в контенте, загруженном AJAX, чтобы инициировать другие вызовы AJAX, скажем, «Комментарий».Кнопка «Комментарий» собирает некоторые значения из скрытых полей ввода и публикует их на сервере.
Работает нормально, если я не нажимаю кнопку обновить.Однако я обнаружил, что после нескольких обновлений, когда я нажимаю ссылки, имеющие связь .live ('click', function () {}) (кнопка "comment"), он отправляет на сервер несколько запросов POST.Я думаю, это потому, что старые элементы DOM все еще существуют, поэтому я попытался удалить все элементы с помощью .remove (), .empty () в refreshFeed ().Но проблема остается.
Вот код:
$.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 и действительно не знаю, в чем проблема.Пожалуйста, помогите мне!Спасибо!