js 사용자 정의 이벤트 및 이벤트 상호 작용 원칙 개요 (2)_javascript 기술
js 커스텀 이벤트(1)의 목적은 단지 커스텀 이벤트가 어떻게 시뮬레이션되는지 모든 사람이 쉽게 이해할 수 있도록 하는 것입니다.
1. 이 이벤트 객체는 하나만 등록할 수 있습니다. event.여러 이벤트 제공
2. 등록 방법에서 일부 정보가 반환되지 않습니다
아래에서 이러한 문제를 해결해 보겠습니다. MyEvent.js의 소스코드는 다음과 같습니다.
function MyEvent() {
this.handlers={};
}
MyEvent.prototype={
addHandler:function(type,handler)
{
if(typeof this.handlers[type] == "정의되지 않음")
{
this.handlers[type]=[]
this.handlers[type].push(handler); >},
fire:function(event)
{if(this.handlers[event.type] instanceof Array)
{
var handlers=this.handlers[event.type]
for(var i= 0, len=handlers.length;i
handlers[i](event)
}
}
},
removeHandler:function(type , handler)
{
if(this.handlers[type] instanceof Array)
{
var handlers=this.handlers[type]
for(var i= 0, len= handlers.length;i
if(handlers[i]===handler)
{
break
}
}
handlers.splice(i,1);
}
}
}
이 유형은 첫 번째 기사의 최적화입니다.
addHandler() 메서드는 이벤트 유형과 이벤트를 처리하는 데 사용되는 함수라는 두 가지 매개 변수를 허용합니다. 이 메소드가 호출되면 핸들러 속성에 이 이벤트 유형에 대한
배열이 이미 있는지 확인하는 작업이 수행됩니다. 그렇지 않은 경우 새 배열이 생성됩니다. 그런 다음 push()를 사용하여 해당 핸들러를 배열 끝에 추가합니다.
fire() 메소드는 이벤트를 트리거하는 데 사용됩니다. 이 메소드는 최소한 type 속성을 포함하는 객체인 매개변수를 허용합니다. 그렇지 않으면 핸들러가 이미 존재하는지 확인할 수 없습니다. 이 유형을 사용하여 이벤트 유형에 해당하는 핸들러 세트를 찾고, 각 함수를 호출하고, 이벤트 객체를 제공합니다. 이는 사용자 정의 개체이므로 이벤트 개체의 다른 항목을 사용자가 정의할 수 있습니다.
removeHandler() 메소드는 addHandler()의 보조 메소드입니다. 이 메소드는 동일한 매개변수(이벤트 유형 및 이벤트 핸들러)를 허용합니다. 이 메서드는 이벤트 핸들러 배열을 검색하여 제거할 핸들러의 위치를 찾습니다. 발견되면 break 연산자를 사용하여 루프를 종료합니다. 그런 다음 splice() 메서드를 사용하여 항목이 배열에서 제거됩니다.
여기서 사용 방법을 좀 더 오래 사용하는 형태로 바꿔보겠습니다. 이제 제가 아는 바에 따르면 많은 제품에는 이벤트를 사용하는 방법이 두 가지 있습니다. 하나는 직접 상속입니다(이 지역에서는 js에 이 개념이 없습니다. 프로토타입 체인을 통해 상속 효과를 시뮬레이션하면(여기에서는 자세히 설명되지 않음) 이 이벤트 객체가 이러한 동작을 갖게 되지만 이 방법은 더 제한적입니다. 이벤트. 이 개체를 보유하는 속성입니다. 예를 들어, 동일한 디렉터리에 Student.js 파일을 생성하면 내부 코드는 다음과 같습니다.
this.myEvent=new MyEvent()
this.name=name; Student.prototype={
setName:function(name)
{
var eventStart={
type:"changeNameStart",
newName:name,
oldName:this.name
};
this.myEvent.fire(eventStart);
this.name=name;
}
}
여기에는 학생 수업이 있습니다. MyEvent 객체는 생성자에서 Attribute로 초기화되고, 매개변수를 통해 name 속성을 초기화합니다.
이름 변경을 위한 setName 메소드를 제공하지만, 이름을 변경하기 전에changeNameStart 이벤트를 트리거할 수 있는 리스너가 설정됩니다.
코드를 복사합니다.

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

win11 시스템에서는 분할 화면 상호 작용을 켜서 여러 모니터가 동일한 시스템을 사용하고 함께 작동할 수 있습니다. 그러나 많은 친구들은 실제로 분할 화면 상호 작용을 켜는 방법을 모릅니다. 다음은 일어나서 공부하는 것입니다. win11에서 분할 화면 상호 작용을 여는 방법 1. 시작 메뉴를 클릭하고 "설정"을 찾습니다. 2. 그런 다음 거기에서 "시스템" 설정을 찾습니다. 3. 시스템 설정에 들어간 후 왼쪽의 "디스플레이"를 선택하세요. 4. 그런 다음 오른쪽의 다중 디스플레이에서 "이 디스플레이 확장"을 선택하세요.

Vue3+TS+Vite 개발 기술: 백엔드 API와 상호작용하는 방법 소개: 웹 애플리케이션 개발에서 프론트엔드와 백엔드 간의 데이터 상호작용은 매우 중요한 링크입니다. 널리 사용되는 프런트엔드 프레임워크인 Vue3에는 백엔드 API와 상호작용할 수 있는 다양한 방법이 있습니다. 이 기사에서는 Vue3+TypeScript+Vite 개발 환경을 사용하여 백엔드 API와 상호 작용하는 방법을 소개하고 코드 예제를 통해 이해를 심화시킵니다. 1. Axios를 사용하여 요청을 보냅니다.

Vue.js는 많은 편리한 기능을 제공하는 인기 있는 JavaScript 프레임워크이므로 웹 애플리케이션을 개발할 때 매우 유용합니다. Vue.js의 사용자 정의 이벤트 시스템은 이를 더욱 유연하게 만들고 구성 요소 이벤트 발생 및 처리를 통해 더 나은 코드 재사용성을 허용합니다. 이 기사에서는 Vue.js에서 사용자 정의 이벤트를 사용하는 방법에 대해 설명합니다. Vue.js의 사용자 정의 이벤트의 기초 Vue.js에서는 v-on 지시문을 통해 DOM 이벤트를 수신할 수 있습니다. 예를 들어,

uniapp이 네이티브와 상호 작용하기 위해 JSBridge를 사용하여 구현하는 방법에는 특정 코드 예제가 필요합니다. 1. 배경 소개 모바일 애플리케이션 개발에서는 일부 네이티브 기능을 호출하거나 일부 네이티브 데이터를 얻는 등 네이티브 환경과 상호 작용해야 하는 경우가 있습니다. 크로스 플랫폼 모바일 애플리케이션 개발 프레임워크인 uniapp은 JSBridge를 사용하여 통신함으로써 기본 장치와 상호 작용할 수 있는 편리한 방법을 제공합니다. JSBridge는 프런트 엔드가 모바일 네이티브 엔드와 상호 작용하기 위한 기술 솔루션입니다.

Enterprise WeChat 인터페이스를 사용하여 데이터용 PHP와 상호 작용하는 방법 Enterprise WeChat은 기업 내 내부 통신 및 협업을 위한 중요한 플랫폼입니다. 개발자는 Enterprise WeChat 인터페이스를 통해 Enterprise WeChat과의 데이터 상호 작용을 실현할 수 있습니다. 이 기사에서는 PHP 언어를 사용하여 엔터프라이즈 WeChat 인터페이스를 호출하여 데이터 전송 및 처리를 실현하는 방법을 소개합니다. 먼저 기업 WeChat 애플리케이션을 생성하고 해당 CorpID, Secret 및 AgentID를 얻어야 합니다. 이 정보는 Enterprise WeChat 관리 백엔드의 "애플리케이션 및 미니 프로그램"에서 찾을 수 있습니다. 다음으로 나는

PHP 및 JavaScript 상호 작용 방법 및 FAQ 인터넷의 급속한 발전으로 인해 웹 페이지는 사람들이 정보를 얻고 소통하는 주요 플랫폼이 되었습니다. PHP와 JavaScript는 웹 페이지 개발에 가장 일반적으로 사용되는 두 가지 언어입니다. 그들은 모두 고유한 장점과 적용 가능한 시나리오를 가지고 있으며, 대규모 웹사이트의 개발 과정에서 이 둘의 결합은 개발자의 작업 능력을 확장할 것입니다. 이 기사에서는 PHP와 JavaScript 간의 상호 작용 방법과 일반적인 질문에 대한 답변을 소개합니다. PHP와 자바스크립트

인터넷의 급속한 발전과 정보기술의 급격한 변화에 따라 IT의 중요한 두 분야인 프론트엔드와 백엔드 개발 역시 지난 수십 년 동안 큰 발전을 이루었습니다. 이 기사에서는 프론트엔드와 백엔드 개발의 개발 역사를 살펴보고, 현재 개발 동향을 분석하고, 향후 개발 방향을 기대해 보겠습니다. 1. 프론트엔드와 백엔드 개발의 역사 인터넷 초기에는 웹사이트 개발은 주로 콘텐츠 표현에 중점을 두었고, 프론트엔드 개발 작업은 주로 HTML, CSS, JavaScript 등의 기술에 중점을 두었습니다. 페이지의 기본 기능을 구현합니다.

Vue 사용자 정의 이벤트의 사용 및 일반적인 시나리오 Vue.js는 사용자 인터페이스 구축에 널리 사용되는 JavaScript 프레임워크입니다. Vue에서는 사용자 정의 이벤트를 통해 구성 요소 간의 통신을 구현할 수 있습니다. 사용자 정의 이벤트는 Vue의 매우 유용한 기능 중 하나이므로 다양한 구성 요소 간에 데이터를 전달하고 특정 동작을 트리거할 수 있습니다. 이 기사에서는 Vue에서 사용자 정의 이벤트의 사용법과 일반적인 시나리오를 소개하고 특정 코드 예제를 제공합니다. 1. 사용자 정의 이벤트의 기본 사용법 Vue에서는 다음을 수행할 수 있습니다.
