Maison > interface Web > js tutoriel > Comment simuler de manière fiable un événement de clic en JavaScript ?

Comment simuler de manière fiable un événement de clic en JavaScript ?

Susan Sarandon
Libérer: 2024-12-04 20:02:11
original
970 Les gens l'ont consulté

How to Reliably Simulate a Click Event in JavaScript?

Comment simuler un événement de clic en JavaScript

La simulation d'un événement de clic en JavaScript peut être réalisée avec diverses méthodes. Une approche courante consiste à utiliser la méthode click() sur l'élément cible. Cependant, cette méthode ne fonctionne que dans les navigateurs prenant en charge la propriété all.

Pour une compatibilité entre navigateurs, vous pouvez utiliser le code suivant :

function simulateClick(control) {
  if (document.all) {
    control.click();
  } else {
    var evObj = document.createEvent('MouseEvents');
    evObj.initMouseEvent('click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
    control.dispatchEvent(evObj);
  }
}
Copier après la connexion

Cette fonction prend un élément comme argument et crée un événement de clic synthétique. Si le navigateur prend en charge la propriété all, il utilisera la méthode native click(). Sinon, il créera un objet événement personnalisé et l'enverra à l'élément.

Cependant, vous avez mentionné que ce code ne fonctionne pas pour vous. Êtes-vous sûr que la fonction est appelée correctement ? Avez-vous revérifié l'ID de l'élément dans le HTML ?

Si vous rencontrez toujours des problèmes, vous pouvez essayer une approche plus simple :

document.getElementById('elementID').click();
Copier après la connexion

Ce code devrait fonctionner dans tous les navigateurs modernes, y compris IE.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal