2010-12-13 15 views
6

Ho bisogno di simulare un clic su un collegamento utilizzando JavaScript. Qualcuno potrebbe dirmi come può essere raggiunto? Dovrebbe funzionare in FireFox e IE.Simula un clic su un collegamento con JavaScript

Grazie in anticipo.

+1

in jQuery sarebbe '$ ('# link') di trigger ('click');.' – mpen

+3

non possono utilizzare jQuery. – cycero

risposta

1

questo dovrebbe fare il trucco

document.getElementById('yourLink').click(); 
+1

Questo non funziona in FireFox. – cycero

+0

Credo che ff non capisca l'evento click sui link. Potresti avvolgerlo in un intervallo e quindi simulare il clic su di esso o provare di seguito: window.location.href = document.getElementById ('yourLink'). Href; –

+1

@Jinesh, a volte, abbiamo bisogno di più di un reindirizzamento facendo clic su un collegamento :) – dheerosaur

0
document.getElementById('mylink').click() 
+0

Questo non funziona in FireFox. – cycero

+0

Non esiste un metodo 'click' per un oggetto di collegamento per quanto possa ricordare. – Anurag

+0

questo metodo è solo per IE –

3

Come detto da altri, è possibile utilizzare il metodo click per IE. Per Firefox, dai un'occhiata a element.dispatchEvent. Vedere l'esempio nella documentazione.

+0

Per coloro che sono troppo pigri per scavare per l'esempio ;-) https://developer.mozilla.org/en-US/docs/Web/Guide/Eventi/Creating_and_triggering_events # Triggering_built-in_events – Ash

+0

inoltre, questo può essere utile per aiutare a identificare quando utilizzare questo codice http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and -opera-browser – Ash

4
var el = document.getElementById('link'); 

// Firefox 
if (document.createEvent) { 
    var event = document.createEvent("MouseEvents"); 
    event.initEvent("click", true, true); 
    el.dispatchEvent(event); 
} 
// IE 
else if (el.click) { 
    el.click(); 
} 

example

+0

Che non funziona ... – cycero

+0

in firefox o IE, o entrambi? – Anurag

+0

Non funziona in entrambi :) – cycero

Problemi correlati