Maison interface Web js tutoriel js自定义事件及事件交互原理概述(一)_javascript技巧

js自定义事件及事件交互原理概述(一)_javascript技巧

May 16, 2016 pm 05:42 PM
事件 交互 自定义事件

在JS中事件是JS与浏览器交互的主要途径。事件是一种叫做观察者的设计模式,这是一种创建松散耦合代码的技术。对象可以发布事件,用来表示在该对象生命周期中某个有趣的时刻到了。然后其他对象可以观察该对象,等待这些有趣的时刻到来并通过运行代码来响应。

观察者模式有两类对象组成:主题和观察者。主体负责发布事件,同时观察者通过订阅这些事件来观察该主体。该模式的一个关键概念是主体并不知道观察者的任何事情,也就是说它可以独自存在并正常运作即使观察者不存在。从另一方面说,观察者知道主体并能注册事件的回调函数(事件处理程序)。涉及DOM上时,DOM元素便是主体,你的事件处理代码便是观察者。

事件是与DOM交互的最常见的方式,但它们也可以用于非DOM代码中----通过实现自定义事件。自定义事件背后的概念是创建一个管理事件的对象,让其他对象监听那些事件。说简单点就是我们希望在程序运行的时候,路线可能会有很多,如果程序运行到了一个特殊的地方,我们希望立刻运行用户注册的方法里面的代码,运行完毕后再继续运行,这个过程叫做监听。

例如,创建一个文件MyEvent.js文件,里面创建一个类:

复制代码 代码如下:

function MyEvent(){
this.handler;
}
MyEvent.prototype={
addHandler:function(handler)
{
this.handler=handler;
},
fire:function()
{
this.handler();
},
removeHandler:function()
{
this.handler=null;
}
}

上面使用js原型的思想创建的一个类,如果读者不太了解可以查看相关资料。MyEvent类型有一个单独的属性handler,用于存储事件处理程序(也就是用户注册的方法)。还有三个方法:addHandler(),用于注册事件处理程序;fire(),用于触发一个事件;以及removeHandler(),用于注销事件的处理程序。

然后我们可以这样使用,新建一个html文件,放于和MyEvent.js同一个目录,方便引用。代码如下:
复制代码 代码如下:












上述的注释已经很详细的说明了其中的一种使用方式。这就是一个最简单的自定义事件,不过还有很多缺陷,如何优化将在(二)里面进行讲解。
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

ID d'événement 4660 : objet supprimé [Correctif] ID d'événement 4660 : objet supprimé [Correctif] Jul 03, 2023 am 08:13 AM

Certains de nos lecteurs ont rencontré l'événement ID4660. Ils ne savent souvent pas quoi faire, c'est pourquoi nous l'expliquons dans ce guide. L'ID d'événement 4660 est souvent enregistré lorsque des objets sont supprimés. Nous explorerons donc également quelques moyens pratiques de le corriger sur votre ordinateur. Qu'est-ce que l'événement ID4660 ? L'ID d'événement 4660 est lié aux objets dans Active Directory et sera déclenché par l'un des facteurs suivants : Suppression d'objet – Un événement de sécurité avec l'ID d'événement 4660 est enregistré chaque fois qu'un objet est supprimé d'Active Directory. Modifications manuelles – L'ID d'événement 4660 peut être généré lorsqu'un utilisateur ou un administrateur modifie manuellement les autorisations d'un objet. Cela peut se produire lors de la modification des paramètres d'autorisation, de la modification des niveaux d'accès ou de l'ajout ou de la suppression de personnes ou de groupes.

Activer le mode d'interaction en écran partagé dans Win11 Activer le mode d'interaction en écran partagé dans Win11 Dec 25, 2023 pm 03:05 PM

Dans le système Win11, nous pouvons permettre à plusieurs moniteurs d'utiliser le même système et de fonctionner ensemble en activant l'interaction sur écran partagé. Cependant, de nombreux amis ne savent pas comment activer l'interaction sur écran partagé. les paramètres du système. Ce qui suit est Levez-vous et étudiez. Comment ouvrir l'interaction en écran partagé dans Win11 1. Cliquez sur le menu Démarrer et recherchez "Paramètres" 2. Recherchez ensuite les paramètres "Système". 3. Après avoir saisi les paramètres système, sélectionnez « Affichage » à gauche. 4. Sélectionnez ensuite « Étendre ces affichages » dans les multiples affichages à droite.

Recevez les événements du calendrier à venir sur l'écran de verrouillage de votre iPhone Recevez les événements du calendrier à venir sur l'écran de verrouillage de votre iPhone Dec 01, 2023 pm 02:21 PM

Sur les iPhones exécutant iOS 16 ou version ultérieure, vous pouvez afficher les événements du calendrier à venir directement sur l'écran de verrouillage. Lisez la suite pour savoir comment procéder. Grâce aux complications du cadran, de nombreux utilisateurs d'Apple Watch sont habitués à pouvoir jeter un coup d'œil à leur poignet pour voir le prochain événement du calendrier à venir. Avec l'avènement d'iOS16 et des widgets d'écran de verrouillage, vous pouvez afficher les mêmes informations sur les événements du calendrier directement sur votre iPhone sans même déverrouiller l'appareil. Le widget Calendar Lock Screen est disponible en deux versions, vous permettant de suivre l'heure du prochain événement à venir ou d'utiliser un widget plus grand qui affiche les noms des événements et leurs heures. Pour commencer à ajouter des widgets, déverrouillez votre iPhone à l'aide de Face ID ou Touch ID, appuyez et maintenez

Tutoriel de base VUE3 : événements personnalisés à l'aide de Vue.js Tutoriel de base VUE3 : événements personnalisés à l'aide de Vue.js Jun 15, 2023 pm 09:43 PM

Vue.js est un framework JavaScript populaire qui offre de nombreuses fonctionnalités pratiques, il est donc très utile lors du développement d'applications Web. Le système d'événements personnalisés de Vue.js le rend plus flexible et permet une meilleure réutilisation du code grâce au déclenchement et à la gestion des événements de composants. Dans cet article, nous verrons comment utiliser des événements personnalisés avec Vue.js. La base des événements personnalisés dans Vue.js Dans Vue.js, nous pouvons écouter les événements DOM via la directive v-on. Par exemple,

En JavaScript, quel est le but de l'événement « oninput » ? En JavaScript, quel est le but de l'événement « oninput » ? Aug 26, 2023 pm 03:17 PM

Lorsqu'une valeur est ajoutée à la zone de saisie, l'événement oninput se produit. Vous pouvez essayer d'exécuter le code suivant pour comprendre comment implémenter les événements oninput en JavaScript - Exemple<!DOCTYPEhtml><html> <body> <p>Écrivez ci-dessous :</p> <inputtype="text&quot

Compétences en développement Vue3+TS+Vite : comment interagir avec l'API backend Compétences en développement Vue3+TS+Vite : comment interagir avec l'API backend Sep 08, 2023 pm 06:01 PM

Compétences en développement Vue3+TS+Vite : Comment interagir avec l'API back-end Introduction : Dans le développement d'applications Web, l'interaction des données entre le front-end et le back-end est un lien très important. En tant que framework front-end populaire, Vue3 propose de nombreuses façons d'interagir avec les API back-end. Cet article expliquera comment utiliser l'environnement de développement Vue3+TypeScript+Vite pour interagir avec l'API back-end et approfondira la compréhension grâce à des exemples de code. 1. Utilisez Axios pour envoyer des requêtes.

Comment implémenter des fonctions de calendrier et des rappels d'événements dans les projets PHP ? Comment implémenter des fonctions de calendrier et des rappels d'événements dans les projets PHP ? Nov 02, 2023 pm 12:48 PM

Comment implémenter des fonctions de calendrier et des rappels d'événements dans les projets PHP ? La fonctionnalité de calendrier et les rappels d'événements sont l'une des exigences courantes lors du développement d'applications Web. Qu'il s'agisse de gestion d'agenda personnel, de collaboration en équipe ou de planification d'événements en ligne, la fonction de calendrier peut fournir une gestion pratique du temps et l'organisation des transactions. L'implémentation de fonctions de calendrier et de rappels d'événements dans les projets PHP peut être réalisée en suivant les étapes suivantes. Conception de la base de données Tout d'abord, vous devez concevoir une table de base de données pour stocker les informations sur les événements du calendrier. Une conception simple peut contenir les champs suivants : id : unique à l'événement

Comment l'implémentation d'Uniapp utilise-t-elle JSBridge pour interagir avec le natif Comment l'implémentation d'Uniapp utilise-t-elle JSBridge pour interagir avec le natif Oct 20, 2023 am 08:44 AM

La façon dont uniapp implémente l'utilisation de JSBridge pour interagir avec le natif nécessite des exemples de code spécifiques 1. Introduction au contexte Dans le développement d'applications mobiles, il est parfois nécessaire d'interagir avec l'environnement natif, par exemple en appelant certaines fonctions natives ou en obtenant des données natives. En tant que cadre de développement d'applications mobiles multiplateforme, uniapp offre un moyen pratique d'interagir avec des appareils natifs, en utilisant JSBridge pour communiquer. JSBridge est une solution technique permettant au front-end d'interagir avec le mobile natif.

See all articles