Maison >interface Web >js tutoriel >Comment déclencher des événements par programmation en JavaScript ?

Comment déclencher des événements par programmation en JavaScript ?

DDD
DDDoriginal
2024-12-19 09:59:08498parcourir

How Do I Programmatically Trigger Events in JavaScript?

Déclenchement d'événements par programmation en JavaScript

En JavaScript, les événements sont généralement attachés à un élément spécifique à l'aide de la méthode addEventListener. Cependant, il arrive parfois que vous deviez déclencher un événement par programmation à partir d'une autre fonction. Je vais vous expliquer cette méthode.

Dans le passé, deux méthodes principales étaient utilisées pour déclencher des événements : fireEvent (IE 8 et versions antérieures) et dispatchEvent (la plupart des autres navigateurs). Cependant, la méthode initEvent n'est plus recommandée.

L'approche moderne consiste à créer un événement à l'aide de createEvent ou createEventObject, selon la prise en charge du navigateur, et à le déclencher à l'aide de dispatchEvent.

Vous trouverez ci-dessous un exemple de code qui déclenche l'événement dataavailable sur un élément spécifique.

var event; // カスタムイベント

if (document.createEvent) {
    // W3C の dispatchEvent を使用
    event = document.createEvent("HTMLEvents");
    event.initEvent("dataavailable", true, true);
    event.eventName = "dataavailable";
    element.dispatchEvent(event);
} else {
    // IE 8 以下用の fireEvent を使用
    event = document.createEventObject();
    event.eventName = "dataavailable";
    event.eventType = "dataavailable";
    element.fireEvent("on" + event.eventType, event);
}

Ce code crée un événement personnalisé pour l'événement dataavailable et le déclenche par programme sur l'élément spécifié.

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!

Déclaration:
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