찾다
웹 프론트엔드JS 튜토리얼js 사용자 정의 이벤트 및 이벤트 상호 작용 원칙 개요 (1)_javascript 기술

JS에서 이벤트는 JS가 브라우저와 상호 작용하는 주요 방법입니다. 이벤트는 느슨하게 결합된 코드를 생성하는 기술인 Observer라는 디자인 패턴입니다. 객체는 객체의 수명 주기에서 흥미로운 순간이 도래했음을 나타내는 이벤트를 게시할 수 있습니다. 그런 다음 다른 개체는 개체를 관찰하고 흥미로운 순간이 올 때까지 기다렸다가 코드를 실행하여 응답할 수 있습니다.

관찰자 패턴은 주체와 관찰자라는 두 가지 유형의 객체로 구성됩니다. 주체는 이벤트 게시를 담당하고, 관찰자는 이러한 이벤트를 구독하여 주체를 관찰합니다. 이 패턴의 핵심 개념은 에이전트가 관찰자에 대해 아무것도 모른다는 것입니다. 즉, 관찰자가 없어도 자체적으로 존재할 수 있고 정상적으로 작동할 수 있다는 의미입니다. 반면 관찰자는 주제에 대해 알고 있으며 이벤트에 대한 콜백 함수(이벤트 핸들러)를 등록할 수 있습니다. 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 유형에는 이벤트 핸들러(즉, 사용자가 등록한 메소드)를 저장하는 데 사용되는 별도의 속성 핸들러가 있습니다. 또한 세 가지 메서드가 있습니다. 이벤트 핸들러를 등록하는 데 사용되는 addHandler(), 이벤트를 트리거하는 데 사용되는 fire() 및 이벤트 핸들러 등록을 취소하는 데 사용되는 RemoveHandler().

그러면 이렇게 활용하고, 새로운 html 파일을 만들어 쉽게 참고할 수 있도록 MyEvent.js와 같은 디렉터리에 넣어두면 됩니다. 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.



성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
事件 ID 4660:已删除对象 [修复]事件 ID 4660:已删除对象 [修复]Jul 03, 2023 am 08:13 AM

我们的一些读者遇到了事件ID4660。他们通常不确定该怎么做,所以我们在本指南中解释。删除对象时通常会记录事件ID4660,因此我们还将探索一些实用的方法在您的计算机上修复它。什么是事件ID4660?事件ID4660与活动目录中的对象相关,将由以下任一因素触发:对象删除–每当从ActiveDirectory中删除对象时,都会记录事件ID为4660的安全事件。手动更改–当用户或管理员手动更改对象的权限时,可能会生成事件ID4660。更改权限设置、修改访问级别或添加或删除人员或组时,可能会发生这种情

打开win11的分屏交互方式打开win11的分屏交互方式Dec 25, 2023 pm 03:05 PM

在win11系统中,我们可以通过打开分屏交互来让多个显示器使用同一款系统,共同操作,但是很多朋友不知道分屏交互怎么开启,其实只要在系统设置中找到显示器就可以了,下面一起来学习一下吧。win11分屏交互怎么打开1、点击开始菜单,找到其中的“设置”2、然后在其中找到“系统”设置。3、进入系统设置后,在左侧选择“显示”4、接着在右边的多显示器中选择“扩展这些显示器”即可。

VUE3基础教程:使用Vue.js自定义事件VUE3基础教程:使用Vue.js自定义事件Jun 15, 2023 pm 09:43 PM

Vue.js是一款流行的JavaScript框架,它提供了很多方便的特性,所以它在开发Web应用程序时非常有用。Vue.js中的自定义事件系统使其更加灵活,并且可以通过组件事件触发和处理来实现更好的代码重用性。在本文中,我们将讨论如何使用Vue.js的自定义事件。Vue.js中自定义事件的基础在Vue.js中,我们可以通过v-on指令来监听DOM事件。例如,

在JavaScript中,"oninput"事件的用途是什么?在JavaScript中,"oninput"事件的用途是什么?Aug 26, 2023 pm 03:17 PM

当在输入框中添加值时,就会发生oninput事件。您可以尝试运行以下代码来了解如何在JavaScript中实现oninput事件-示例<!DOCTYPEhtml><html>&nbsp;&nbsp;<body>&nbsp;&nbsp;&nbsp;<p>Writebelow:</p>&nbsp;&nbsp;&nbsp;<inputtype="text"

Vue3+TS+Vite开发技巧:如何与后端API进行交互Vue3+TS+Vite开发技巧:如何与后端API进行交互Sep 08, 2023 pm 06:01 PM

Vue3+TS+Vite开发技巧:如何与后端API进行交互引言:在网页应用开发中,前端与后端之间的数据交互是一个非常重要的环节。Vue3作为一种流行的前端框架,与后端API进行交互的方式也有很多种。本文将介绍如何使用Vue3+TypeScript+Vite开发环境来与后端API进行交互,并通过代码示例来加深理解。一、使用Axios发送请求Axios是

uniapp实现如何使用JSBridge实现与原生交互uniapp实现如何使用JSBridge实现与原生交互Oct 20, 2023 am 08:44 AM

uniapp实现如何使用JSBridge实现与原生交互,需要具体代码示例一、背景介绍在移动应用开发中,有时需要与原生环境进行交互,比如调用原生的一些功能或获取原生的一些数据。uniapp作为一种跨平台的移动应用开发框架,提供了一种方便的方式来实现与原生交互,即使用JSBridge进行通信。JSBridge是一种前端与移动原生端进行交互的技术方案,通过在前端和

jquery中常用的事件有哪些jquery中常用的事件有哪些Jan 03, 2023 pm 06:13 PM

jquery中常用的事件有:1、window事件;2、鼠标事件,是当用户在文档上面移动或单击鼠标时而产生的事件,包括鼠标单击、移入事件、移出事件等;3、键盘事件,是用户每次按下或者释放键盘上的按键时都会产生事件,包括按下按键事件、释放按键按键等;4、表单事件,例如当元素获得焦点时会触发focus()事件,失去焦点时会触发blur()事件,表单提交时会触发submit()事件。

Vue文档中的input框绑定事件详解Vue文档中的input框绑定事件详解Jun 21, 2023 am 08:12 AM

Vue.js是一种轻量级的JavaScript框架,具有易用、高效和灵活的特点,是目前广受欢迎的前端框架之一。在Vue.js中,input框绑定事件是一个十分常见的需求,本文将详细介绍Vue文档中的input框绑定事件。一、基础概念在Vue.js中,input框绑定事件指的是将输入框的值绑定到Vue实例的数据对象中,从而实现输入和响应的双向绑定。在Vue.j

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기