Mam następujący funkcja, która pobiera więcej komentarzy poza 20, które są wyświetlane domyślnieWyłącz Funkcja jQuery po 1 kliknięcie, aby zapobiec wielu egzekucji
$('.more_comments_link').live('click', function() {
$(".more_comments_link").text("Fetching More Comments ...");
var ajaxOpts = {
type: "get",
url: "ajax_getcomments.php",
dataType: 'json',
data: "&itemid=<? echo $id; ?>&type=1&owner=<? echo $event["data"]["e_creator"]; ?>&more=1",
success: function(data) {
$('.discussion-more').after(data);
$(".discussion-more").hide();
}
};
$.ajax(ajaxOpts);
return false;
});
to działa, tylko problem jest, użytkownik może kliknąć przycisk 3 razy bardzo szybko i wyśle 3 zapytania do ajax_getcomments.php, uzyskując za każdym razem ten sam wynik.
próbowałem dodając
$(".more_comments_link").unbind('click');
ale nic nie robi.
Początkowy zestaw wyników jest pobierany z jQuery również, stąd Im przy .live(click'
nie wiem, czy to ma coś wspólnego z tym, dlaczego jej nie działa.
Gdzie umieściłeś swoje niepowiązane oświadczenie? –
@George niezależnie, '.unbind ('click')' nie zadziała, ponieważ słuchacz był związany z '.live()' nie '.click()' lub '.bind ('kliknięcie')'. –