Voglio simulare un clic per un tag di ancoraggio con tutti gli extra come la gestione mira corretta.Come posso simulare un clic per un tag di ancoraggio?
Sembra che ci sia un "[click()] [3]" Metodo per oggetto DOM di ancoraggio, ma non tutti i browser supportano questo. Firefox getta questo errore:
Error: anchorObj.click is not a function
Funziona anche stranamente su Opera 10 e Konqueror, causando infiniti scatti per accadere quando viene chiamata all'interno gestore onclick di un div circostante. Immagino che solo IE8 funzioni bene con esso. In ogni caso non lo voglio perché i principali browser hanno per lo più problemi.
ho trovato questa soluzione alternativa per Firefox nei forum Mozilla:
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
anchorObj.dispatchEvent(evt);
Questo sembra troppo brutto e ingombrante per me. Non so quanto sia compatibile e voglio evitare di scrivere il codice specifico del browser il più possibile.
non posso usare location.href = anchorObj.href; perché non gestisce l'attributo "target". Posso fare un po 'di hard coding in base al valore dell'obiettivo, ma vorrei anche evitarlo.
C'è suggerimento di passare a JQuery, ma io non sono sicuro di come bene gestisce proprietà target sia visto che non ho lavorato con prima.
Possibile duplicato di [JavaScript: invocazione di un evento di clic di un tag di ancoraggio da javascript] (http://stackoverflow.com/questions/980709/javascript-invoking-click-event-of-an-anchor-tag-from -javascript) –