2015-05-25 18 views
5

Sto provando ad attivare un clic su più elementi con la stessa classe ma quando lo faccio il primo elemento viene solo cliccato e non gli altri, sinceramente sto provando a rendere ama tutti ASK.FM profilo risposte utilizzando la console di Firefox quindi questo è quello che ho fattoattiva un clic su più elementi con la stessa classe

$('.like').trigger('click'); 

ma mi sono reso conto che solo il primo elemento (risposta) ottenere cliccato così ho fatto qualche altra cosa

$('.like').each(function(){$(this).trigger('click');}) 

ma il problema esiste ancora, os cosa sto facendo di sbagliato qui !!

Edit: il codice HTML

tutte le risposte ottenuto questo elemento in esso

<a class="like hintable" hint="Like" href="#" onclick="Like.quickLike(128332156539, &quot;mo7am_rs&quot;, &quot;/likes/am77r/question/128332156539/add&quot;); return false;" style="display:block"></a> 

e voglio fare clic su questo elemento in tutti gli elementi risposte

+2

aggiungi qui il tuo codice html. potrebbe aiutare anche noi –

+0

'trigger' esegue tutti i gestori e comportamenti associati agli elementi corrispondenti, o in altre parole tutti gli elementi con quella classe, quindi il problema non è' trigger', sei tu, ovviamente! – adeneo

+0

Aggiungete anche il codice del gestore di clic '.like' – Tushar

risposta

4

Francamente io sto cercando di fare calibro a tutti profilo ask.fm risposte

Il codice dovrebbe funzionare, così, probabilmente stanno ignorando/bloccando due clic troppo consecutivi per impedire bot e missclicks.

Una soluzione a questo sarebbe l'aggiunta di un sonno ad esso (si dovrebbe regolare il valore sonno, perché dipende da loro segreto soglia configurata).

Il codice seguente avrebbe tentato uno scatto ogni 10 secondi:

var sleep = 0; 
$('.like').each(function(){ 
    var likeElement = $(this); 
    setTimeout(function() { 
     likeElement.trigger('click'); 
    }, sleep); 
    sleep += 10000; 
}); 

prega, verificare anche se questa pratica è conforme alla politica del sito.

+0

ho dimenticato di dire che ho provato a ritardare la procedura di clic e non ha funzionato né il tuo codice :( –

+0

@MOHAMMADRASIM Provalo con un sonno più grande, ad esempio 10000 (10 secondi, vedi risposta aggiornata). ancora più grande, ad esempio 100000 (100 secondi. - Come ho detto: dovresti regolare il valore del sonno, perché dipenderà dalla loro soglia configurata segreta) – falsarella

+0

Ho aumentato il timeout nel tuo codice ma il tuo codice non fa nemmeno clic il primo elemento –

2

Prova questo: scrivere un gestore clicca per tutto come elemento e quindi attivare l'evento click su di esso.

$(function(){ 
    //register a handler 
    $(".like").on("click", function() { 
    alert($(this).text()); 
    }); 
    //trigger click 
    $(".like").trigger("click"); 
}); 

JSFiddle Demo

+1

ok, il vostro codice funziona, ma devo cliccare ogni volta su una casella di avviso e non è così quello che volevo fare, volevo che il codice facesse clic sugli elementi senza l'intervento dell'utente –

+1

Ho tenuto la casella di avviso per mostrare che ogni div viene cliccato mostrando il suo testo, puoi rimuoverlo e mettere la tua logica. –

Problemi correlati