Je sais que c'est semblable à cette question et à cette question, mais étant donné que les solutions n'ai pas l'adresse de la "cible" de la propriété.
Je veux simuler un clic à une balise d'ancrage avec tous les extras comme cible correcte de la manipulation.
Il semble y avoir un "click()" méthode d'ancrage de l'objet DOM, mais pas tous les navigateurs prennent en charge que. Firefox met cette erreur:
Erreur: anchorObj.cliquez sur n'est pas une fonction
Il travaille aussi étrangement sur Opera 10 et Konqueror, provoquant infini de clics pour arriver lorsqu'elle est appelée à l'intérieur onclick gestionnaire d'un div entourant. Je suppose que IE8 fonctionne très bien avec elle. De toute façon je ne veux pas de ça depuis les principaux navigateurs pour la plupart ont des problèmes avec elle.
J'ai trouvé cette solution de rechange pour Firefox de Mozilla 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 trop lourde pour moi. Je ne sais pas comment il est compatible et je veux éviter d'écriture spécifiques au navigateur de code autant que possible.
Je ne peux pas utiliser la localisation.href = anchorObj.href; car il ne gère pas la "cible" de l'attribut. Je peux faire quelques codage en dur des cibles en fonction de la valeur, mais je voudrais éviter cela.
Là, c'est la suggestion de passer à JQuery mais je ne suis pas sûr de la façon dont il gère la propriété cible soit, puisque je n'ai pas travaillé avec avant.