Je veux simuler un clic sur une balise d'ancrage avec tous les extras comme la manipulation correcte de la cible.Comment puis-je simuler un clic sur une balise d'ancrage?
Il semble qu'il existe une méthode "[click()] [3]" pour l'objet DOM de l'ancre, mais tous les navigateurs ne la prennent pas en charge. Firefox lance cette erreur:
Error: anchorObj.click is not a function
Il fonctionne aussi étrangement sur Opera 10 et Konqueror, ce qui produit des infinies de se produire quand il est appelé à l'intérieur d'un gestionnaire onclick div entourant. Je suppose que seulement IE8 fonctionne bien avec elle. De toute façon je ne le veux pas car les principaux navigateurs ont surtout des problèmes avec ça.
Je trouve cette solution de rechange pour Firefox Mozilla dans les forums:
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);
Cela semble trop laid et lourd pour moi. Je ne sais pas comment c'est compatible et je veux éviter d'écrire le code spécifique au navigateur autant que possible.
Je ne peux pas utiliser location.href = anchorObj.href; car il ne gère pas l'attribut "target". Je peux faire du codage en fonction de la valeur de la cible, mais j'aimerais aussi éviter cela.
Il est suggéré de passer à JQuery, mais je ne suis pas sûr de la façon dont il gère la propriété target, car je ne l'ai pas déjà utilisé auparavant.
Possible duplicata de [JavaScript: Invocation d'un événement click d'un tag d'ancrage de javascript] (http://stackoverflow.com/questions/980709/javascript-invoking-click-event-of-an-anchor-tag-from -javascript) –