2012-10-24 8 views
5

Ho un collegamento sulla pagina e desidero fare clic su di esso a livello di codice quando viene caricata la pagina.Fare clic programmaticamente su un collegamento utilizzando jQuery al caricamento della pagina

Qualcosa di simile a questo:

$(document).ready(function() { 

    // code to make the page think $('a.tagcloud-link') is clicked 
}); 

Il collegamento è una chiamata AJAX che visualizza i tag popolari Wordpress backend.

La funzione non può essere modificata poiché dipende da molte cose.

Quindi voglio attivare il collegamento AJAX che chiama i tag più popolari al caricamento della pagina.

Questo risolverà tutti i miei problemi se funziona.

Tale nesso è $ ('-link a.tagcloud')

favore, per favore help me su questo ho passato ore tirando fuori i miei capelli cercando e non riuscendo a fare questo. Grazie.

+1

Hai provato $ ('a.tagcloud-link' .) .first() trigger ('click'); – Tariqulazam

+0

Questo non ha funzionato @Tariqulazam –

+1

Dai tuoi commenti sembra che tu non stia delineando il problema reale che stai riscontrando. Si prega di approfondire esattamente ciò che si sta tentando di fare in modo che le risposte possano essere mirate al caso d'uso specifico. – JamesSwift

risposta

0

Nessuno di questi ha aiutato. L'ho risolto saltando il collegamento ed eseguendolo sul carico.

+0

Sì, non capisco cosa queste persone non capiscano di click() non funziona lol. La stessa barca che stai cercando di automatizzare qualcosa in uno script Greasemonkey. –

1

Se ho ben capito la domanda:

$('a.tagcloud-link').click(); 
+0

Ho provato che, non ha funzionato :( –

+0

usa quello subito dopo che il tuo link è stato inserito dinamicamente e appender all'albero DOM - '# ('body'). '...'); $ ('a.tagcloud-link'). Click(); ' – Reflective

+0

Il codice viene aggiunto dal normale HTML e non con .append() Sto cercando di implementare ciò che hai suggerito usando un tag in linea

1

Prova

$('a.tagcloud-link').click(); 

O

$('a.tagcloud-link').trigger('click') 
+0

Questo non ha funzionato.Vorrei dire che il link su cui voglio cliccare quando la pagina si apre è esso stesso un codice generato da jQuery cod e dinamicamente. Ma voglio simulare un clic su di esso quando viene caricato il documento. sicuramente c'è un modo? –

1
$(function() { 
    $('a.tagcloud-link').on('click', function() { 
      // execute code here 
    }); 
}); 

Questo è corretto utilizzo di jQuery.

+0

Voglio simulare il link su cui si fa clic sul caricamento della pagina. Non penso che il tuo codice lo faccia. –

+1

Quindi dovresti aggiungere altro codice, cosa vuoi fare lo script se gli script "pensano" che si fa clic su a.tagcloud-link? –

+0

Questo è il codice: http://jsfiddle.net/Wnra9/ –

6

Prova questa:

$('a.tagcloud-link')[0].click(); 

Utilizzando [0] ottiene un riferimento al primo oggetto DOM nell'oggetto jQuery quindi questo chiama il DOM object's (non-jQuery) .click() method che farà sì che la navigazione a quello del collegamento specificato href.

L'utilizzo di jQuery's .click() method chiamerebbe qualsiasi gestore di clic che avresti associato all'elemento, ma non causerà il comportamento predefinito per seguire effettivamente il collegamento.

Davvero semplice demo: http://jsfiddle.net/mtBav/

+0

Questo non ha funzionato. la funzione ha completamente smesso di funzionare dopo aver provato a caricare quel codice sul caricamento della pagina. –

+0

Questo è il codice: jsfiddle.net/Wnra9 –

+1

Ciò che ho mostrato causerebbe un errore se non esistono elementi che corrispondono al selettore "a.tagcloud-link", quindi assicurati di aver effettivamente creato l'elemento . Il codice nel tuo violino non crea alcun elemento del genere, e non hai mostrato alcun html, quindi ... (Il tuo violino non è molto utile: devi inserire il codice JS nella finestra di JavaScript (in basso a sinistra) , non nella finestra HTML in cui l'hai inserito.) – nnnnnn

1

Per essere onesto con te, penso che tutti qui è giusto e penso che la questione è incorniciato sbagliato. Ma ecco il mio tentativo e penso che tutto ciò che ho fatto è stato solo un po 'diverso. Sto solo cercando di aiutare.

document.addEventListener("DOMContentLoaded", function() { 
    EventL(); 
}); 

// global 
var tagLoad = false; 

function eventL() { 
    $('a.tagcloud-link').on('click', function() { 
     tagLoad = true; 
    }); 

    // you can repurpose this, its for page refresh right now. but 
    // I think it helps with your general idea? 
    $(window).load(function(){ 
     init(); 
    }); 
} 

function init() { 
    if (tagLoad == true) { 
     // Load your tags. 
    } 
} 
+0

Potrebbe essere incorniciato male ma puoi dirmi come inquadrarlo, anche se sembra che tu non abbia capito cosa volevo ottenere. Comunque, grazie per aver cercato di aiutare! –

+0

Ho letto da qualche parte che vuoi simulare un clic, stai cercando l'aspetto visivo di quello? o stai cercando qualcosa per ricordare che un pulsante è stato cliccato sul tuo modello wordpress? – Jim

3
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$("a#tobeclicked").click(function() { 
// if it has to be href 
var tohref = $(this).attr("href"); 
alert(tohref); 
window.location=tohref; 


// else you want add some functions 

$("#mydiv").fadeIn(); 

}); 
$("a#tobeclicked").trigger('click'); 
}); 
</script> 
<a id="tobeclicked" href="http://www.google.com">Go!</a> 
<div id="mydiv" style="display:none;">Stroam</div> 
+1

uomo ha funzionato con me ..... :) – Heart

+0

hey uomo hai detto che nessuna delle risposte ha funzionato per te controllare il codice sopra che ho aggiunto. Funziona al 100% ... l'ho controllato 5 volte e funziona perfettamente! – Heart

0
function my_admin_head(){ 
echo 
'<script type="text/javascript"> 
    jQuery(function($){ 
     $(\'a.tagcloud-link\').each(function(){ 
      tagBox.get($(this).attr(\'id\')); 
      $(this).unbind().click(function(){ 
       $(this).siblings(\'.the-tagcloud\').toggle(); 
       return false; 
      }); 
     return false; 
    }); 
}); 
</script>'; 
} 
add_action('admin_head', 'my_admin_head'); 

Forse può aiutare qualcuno.

0

Forse il modo in cui si stava utilizzando per accedere all'elemento è il mixaggio della sintassi jquery con javascript. Ho anche questo problema, ma stavo cercando di accedere a un elemento in modo sbagliato.

Era come questo

$(document).ready(function(e){ 
     alert(location.hash); 
     if (location.hash == "#22") { 
      $("gallery div a")[1].click(); //without # 
     }; 
    }) 

ma dovrebbe essere così

$(document).ready(function(e){ 
     alert(location.hash); 
     if (location.hash == "#22") { 
      $("#gallery div a")[1].click(); //with #, cause I was using an ID 
     }; 
    }) 

e lavora :)

Problemi correlati