64 votes

Faux "clic" pour activer une méthode onclick

J'ai un élément avec une méthode onclick .

Je voudrais activer cette méthode (ou: simuler un clic sur cet élément) dans une autre fonction.

Est-ce possible?

85voto

Ben Points 577

Une fois que vous avez sélectionné un élément, vous pouvez appeler click ().

 document.getElementById('link').click();
 

voir: https://developer.mozilla.org/En/DOM/Element.click

Je ne me souviens pas si cela fonctionne sur IE, mais cela devrait être le cas. Je n'ai pas de machine à fenêtres à proximité.

62voto

Eduardo Campañó Points 4801

Si vous utilisez JQuery, vous pouvez faire:

 $('#elementid').click();
 

9voto

Jonathan Lonowski Points 45253

@ Vilx-

Firefox utilise element.dispatchEvent .

La page comprend un exemple simulateClick() .

8voto

Tom Points 5872

Je pourrais mal interpréter votre question, mais oui, c'est possible. La façon dont j'y arriverais est la suivante:

 var oElement = document.getElementById('elementId');   // get a reference to your element
oElement.onclick = clickHandler; // assign its click function a function reference

function clickHandler() {
    // this function will be called whenever the element is clicked
    // and can also be called from the context of other functions
}
 

Maintenant, chaque fois que cet élément est cliqué, le code dans clickHandler sera exécuté. De même, vous pouvez exécuter le même code en appelant la fonction depuis le contexte d’autres fonctions (ou même en assignant clickHandler pour gérer les événements déclenchés par d’autres éléments)>

3voto

RedFilter Points 84190

Ceci est un exemple parfait d'utilisation d'une bibliothèque javascript telle que Prototype ou JQuery pour éliminer les différences entre les navigateurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X