Je voudrais cliquer sur un lien dans ma page en utilisant javascript. Je voudrais déclencher des gestionnaires d'événements sur le lien sans naviguer. Comment cela peut-il être fait?Comment cliquer sur un lien depuis javascript
Merci
Je voudrais cliquer sur un lien dans ma page en utilisant javascript. Je voudrais déclencher des gestionnaires d'événements sur le lien sans naviguer. Comment cela peut-il être fait?Comment cliquer sur un lien depuis javascript
Merci
window.onload = function() {
var myLink = document.getElementById("YOUR_A_TAG_ID");
fireClick(myLink);
};
function fireClick(elem) {
if(typeof elem == "string") elem = document.getElementById(objID);
if(!elem) return;
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent("MouseEvents");
oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);
elem.dispatchEvent(oEvent);
}
else if(document.fireEvent) { // IE
elem.click();
}
}
FYI, * si * le but de l'OP est de naviguer vers la page spécifiée dans l'attribut 'href', ce code n'aura aucun effet dans Firefox (toutes les versions). –
Merci, Crescent Fresh. Je ne peux pas tester sur FF dès maintenant. Est-ce que ça passe par le 'if (document.dispatchEvent)' du tout? –
Ou est-ce que FireFox n'autorise simplement pas ce comportement sur les ancres HTML? Toute documentation? Je peux voir comment cela serait perçu comme un risque de semi-sécurité. –
Avec JQuery Ce serait comme ça.
$("#YOUR_A_TAG_ID").click();
Ceci déclenche uniquement la fonction affectée à l'événement click. Il ne naviguera pas jusqu'au chemin spécifié dans l'attribut href.
FYI: Ceci active uniquement la fonction affectée à l'événement click. –
Oui, selon que l'OP souhaite réellement accéder à la page spécifiée dans l'attribut 'href', cela ne fera que ce que Josh indique. –
Une autre possibilité est d'utiliser la fonction de déclenchement de JQuery.
<span onmouseover="$('#alink').trigger('click');">Hello World</span>
<a href="http://someurl" id="alink">A Link</a>
Que voulez-vous accomplir? Naviguer vers la page dans le 'href'? Lancez les gestionnaires d'événements sur le lien * sans * naviguer? –