Javascript 이벤트 핸들러_javascript 기술의 여러 방법에 대한 간략한 토론
이벤트는 사용자나 브라우저 자체가 수행하는 작업입니다. 예를 들어 클릭(click)과 마우스 오버(mouseover)는 이벤트의 이름입니다. 이벤트에 해당하는 함수를 이벤트 핸들러(또는 이벤트 리스너)라고 합니다. 이벤트 처리기를 지정하는 방법에는 여러 가지가 있습니다.
1: HTML 이벤트 핸들러.
예:
type="button " value="click me" onclick="show()"/>
현재 우리 모두가 이 방법을 더 자주 사용하고 있다고 생각합니다. html 두 가지 단점이 있습니다.
(2; ) 두 번째 단점은 html이 자바스크립트 코드와 밀접하게 결합되어 있다는 것입니다. 타임 핸들러를 변경하려면 html 코드와 javascript 코드 두 곳을 변경해야 합니다.
결과적으로 많은 개발자는 HTML 이벤트 핸들러를 포기하고 대신 JavaScript를 사용하여 이벤트 핸들러를 지정합니다.
둘: Javascript 지정 이벤트 핸들러
Javascript 지정 이벤트 핸들러에는 세 가지 메소드가 포함됩니다.
(1): DOM 레벨 0 이벤트 핸들러 예:
alert('clicked');
alert(this.id) // mybtn
way 추가된 이벤트 핸들러는 이벤트 흐름의 버블링 단계에서 처리됩니다.
btn.onclick=null; // 이벤트 핸들러 삭제
}
(2):DOM2 레벨 이벤트 핸들러
DOM2 레벨 이벤트 이벤트 핸들러를 지정하고 제거하는 작업을 처리하기 위해 addEventListener() 및 RemoveEventListener()라는 두 가지 메서드가 정의되어 있습니다. 이 두 가지 메소드는 모든 DOM 노드에 포함되어 있으며 둘 다 처리할 이벤트 이름, 이벤트 핸들러로서의 함수 및 부울 값이라는 3개의 매개변수를 허용합니다. 마지막 매개변수가 true이면 이벤트 핸들러가 캡처 단계에서 호출된다는 의미이고, fasle이면 이벤트 핸들러가 버블링 단계에서 호출된다는 의미입니다.
예:
alert(this.id);
},false); > DOM2 수준 사용 이벤트 핸들러의 주요 이점은 여러 이벤트 핸들러를 추가할 수 있다는 것입니다.
예:
코드 복사
alert("hello world!");
},false);
여기에는 버튼에 대한 두 개의 이벤트 핸들러가 추가됩니다. 두 개의 이벤트 핸들러는 발생 순서대로 실행됩니다.
addEventListener()를 통해 추가된 타임 핸들러는 RemoveEventListener()를 통해서만 제거할 수 있습니다. 제거 시 전달된 매개변수는 추가 시 사용된 매개변수와 동일합니다. 이는 또한 addEventListener()를 통해 추가된 익명 함수를 제거할 수 없음을 의미합니다.
예:
코드 복사
}, false);
해결책:
코드를 복사하세요
코드는 다음과 같습니다.
참고: 여기서 세 번째 매개변수는 모두 false이며 버블링 단계에서 추가됩니다. 대부분의 경우 이벤트 핸들러는 다양한 브라우저와의 호환성을 극대화하기 위해 이벤트 흐름의 버블링 단계에 추가됩니다.
3: IE 이벤트 핸들러
IE는 DOM의 메소드와 유사한 두 가지 메소드(attachEvent() 및 detachEvent())를 구현합니다. 두 메소드 모두 이벤트 핸들러 이름과 이벤트 핸들러 함수라는 동일한 두 매개변수를 허용합니다. IE는 시간 버블링만 지원하므로, AttachEvent()를 통해 추가된 모든 이벤트 핸들러는 버블링 단계에 추가됩니다.
예:
세:
var btn=document.getElementById("mybtn");
btn.attachEvent("onclick",function(){
alert("clicked");
})
참고: AttachEvent() 함수의 첫 번째 매개변수는 DOM의 addEventListener()에서 "click"이 아니라 "onclick"입니다.
attachEvent() 메서드를 사용하여 요소에 여러 이벤트 핸들러를 추가할 수도 있습니다.
예:
var btn= document.getElementById( "mybtn");
btn.attachEvent("onclick",function(){
alert("clicked");
}); ,function() {
alert("hello world!");
});
attachEvent()를 사용하여 추가된 이벤트는 동일한 매개변수가 제공되면 detachEvent()에 의해 제거될 수 있습니다.
var hander=function(){
alert("clicked");
}
btn.detachEvent("onclick",hander}); // 제거
크로스 브라우저 방식으로 이벤트를 처리하기 위해 많은 개발자가 브라우저 차이를 격리할 수 있는 Javascript 라이브러리를 사용하고 일부 개발자는 가장 적절한 이벤트 처리 방법을 직접 개발합니다.
여기에는 EventUtil 개체가 제공되어 탐색 중 차이점을 처리하는 데 사용할 수 있습니다.
addHandler: function(element, type, handler){ // 이 메서드는 3개의 매개변수(작업할 요소, 이벤트 이름, 이벤트)를 허용합니다. handler function
if (element.addEventListener){ //전달된 요소에 DOM2 레벨 메소드가 있는지 확인
element.addEventListener(type, handler, false) // 존재하는 경우 이 메소드 사용
} else if (element .addEvent){ // IE 메서드가 있는 경우
element.attachEvent("on" type, handler) // 여기서는 이벤트 유형이 접두사로 붙어야 합니다. "켜기"로.
} else { // 마지막 가능성은 DOM0 레벨을 사용하는 것입니다.
element["on" type] = hander
}
},
removeHandler: function(element, type, handler){ // 이전에 추가한 이벤트 핸들러를 삭제하는 메소드입니다.
if (element.removeEventListener){ //전달된 요소가 존재하는지 확인합니다. DOM2 레벨 method
element.removeEventListener(type, handler , false); // 존재하는 경우 이 메소드를 사용
} else if (element.detachEvent){ // 존재하는 경우 IE의 메소드
element.detachEvent("on" type, handler); 그런 다음 IE 방법을 사용하십시오. 여기서 이벤트 유형 앞에는 "on"이 붙어야 합니다.
} else { // 마지막 가능성은 DOM0 및 메서드를 사용하는 것입니다(최신 브라우저에서는 여기에 있는 코드가 실행되지 않아야 함)
element["on" type] =
}
}
};
var btn =document.getElementById("mybtn");
var hander= function(){
alert("clicked")
}//생략됨 코드 일부가 생략됨
EventUtil.addHandler(btn,"click",hander);
//여기서 코드 일부가 생략됨
EventUtil.removeHandler(btn,"click",hander); //삭제 전 추가된 이벤트 핸들러

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제









Python GUI 프로그래밍에 대한 간략한 소개 GUI(Graphical User Interface, 그래픽 사용자 인터페이스)는 사용자가 컴퓨터와 그래픽적으로 상호 작용할 수 있는 방법입니다. GUI 프로그래밍은 프로그래밍 언어를 사용하여 그래픽 사용자 인터페이스를 만드는 것을 말합니다. Python은 풍부한 GUI 라이브러리를 제공하는 인기 있는 프로그래밍 언어로 Python GUI 프로그래밍을 매우 간단하게 만듭니다. Python GUI 라이브러리 소개 Python에는 많은 GUI 라이브러리가 있으며 그 중 가장 일반적으로 사용되는 것은 다음과 같습니다. Tkinter: Tkinter는 Python 표준 라이브러리와 함께 제공되는 GUI 라이브러리로 간단하고 사용하기 쉽지만 기능이 제한되어 있습니다. PyQt: PyQt는 강력한 기능을 갖춘 크로스 플랫폼 GUI 라이브러리입니다.

소개 CircularQueue는 선형 큐의 메모리 낭비 문제를 해결하기 위해 도입된 선형 큐의 개선 사항입니다. 순환 대기열은 FIFO 원칙을 사용하여 요소를 삽입하고 삭제합니다. 이번 튜토리얼에서는 순환 큐의 작동과 관리 방법에 대해 설명합니다. 순환 큐란 무엇입니까? 순환 큐(Circular Queue)는 프런트엔드와 백엔드가 서로 연결된 데이터 구조의 또 다른 유형의 큐이다. 순환 버퍼라고도 합니다. 선형 큐와 유사하게 작동하는데 데이터 구조에 새 큐를 도입해야 하는 이유는 무엇입니까? 선형 큐를 사용할 때 큐가 최대 한계에 도달하면 테일 포인터 앞에 약간의 메모리 공간이 있을 수 있습니다. 이로 인해 메모리 손실이 발생하며 좋은 알고리즘은 리소스를 최대한 활용할 수 있어야 합니다. 메모리 낭비를 해결하기 위해

PHP8.0의 이벤트 처리 라이브러리: 이벤트 인터넷의 지속적인 발전과 함께 널리 사용되는 백엔드 프로그래밍 언어인 PHP는 다양한 웹 애플리케이션 개발에 널리 사용됩니다. 이 과정에서 이벤트 중심 메커니즘은 매우 중요한 부분이 되었습니다. PHP8.0의 이벤트 처리 라이브러리 Event는 보다 효율적이고 유연한 이벤트 처리 방법을 제공합니다. 이벤트 처리란 무엇입니까? 이벤트 처리는 웹 애플리케이션 개발에 있어 매우 중요한 개념입니다. 이벤트는 모든 종류의 사용자 행일 수 있습니다.

버블링 이벤트는 웹 개발에서 이벤트가 요소에서 트리거될 때 이벤트가 문서 루트 요소에 도달할 때까지 상위 요소로 전파된다는 것을 의미합니다. 이러한 전파 방식은 마치 버블이 바닥에서 점차 솟아오르는 것과 같아서 버블링 이벤트(Bubbling Event)라고 합니다. 실제 개발에서는 버블링 이벤트가 어떻게 작동하는지 알고 이해하는 것이 이벤트를 올바르게 처리하는 데 매우 중요합니다. 다음에서는 구체적인 코드 예제를 통해 버블링 이벤트의 개념과 사용법을 자세히 소개합니다. 먼저, 상위 요소와 세 개의 하위 요소가 있는 간단한 HTML 페이지를 만듭니다.

Vue의 v-on 지시문 분석: 양식 제출 이벤트를 처리하는 방법 Vue.js에서 v-on 지시문은 이벤트 리스너를 바인딩하는 데 사용되며 다양한 DOM 이벤트를 캡처하고 처리할 수 있습니다. 그 중 양식 제출 이벤트를 처리하는 것은 Vue의 일반적인 작업 중 하나입니다. 이 기사에서는 v-on 지시문을 사용하여 양식 제출 이벤트를 처리하고 특정 코드 예제를 제공하는 방법을 소개합니다. 먼저, Vue의 양식 제출 이벤트는 사용자가 제출 버튼을 클릭하거나 Enter 키를 눌렀을 때 발생하는 이벤트를 의미한다는 점을 명확히 할 필요가 있습니다. Vue에서는 전달할 수 있습니다

Vue에는 종종 중첩된 구성 요소가 있으며 이러한 중첩된 구성 요소 간에 이벤트를 전달해야 합니다. Vue에서는 $emit 이벤트가 구성 요소 간의 이벤트 통신에 사용됩니다. 그러나 어떤 경우에는 상위 구성 요소의 이벤트 핸들러를 중첩된 하위 구성 요소에 전달해야 합니다. 이 경우 $emit 이벤트를 사용하는 것은 적절하지 않습니다. 이때 Vue에서 제공하는 $listeners를 사용하여 이벤트 처리 기능을 전달할 수 있습니다. 그렇다면 $listener는 무엇인가요?

이벤트 버블링의 애플리케이션 시나리오 및 지원되는 이벤트 유형은 요소의 이벤트가 트리거될 때 이벤트가 요소의 상위 요소로 전달된 다음 해당 요소가 발생할 때까지 요소의 상위 요소로 전달됨을 의미합니다. 문서의 루트 노드로 전달됩니다. 이는 이벤트 모델의 중요한 메커니즘이며 광범위한 응용 시나리오를 가지고 있습니다. 이 기사에서는 이벤트 버블링의 애플리케이션 시나리오를 소개하고 지원하는 이벤트 유형을 살펴봅니다. 1. 애플리케이션 시나리오 이벤트 버블링에는 웹 개발에서 광범위한 애플리케이션 시나리오가 있습니다. 다음은 몇 가지 일반적인 애플리케이션 시나리오입니다. 양식의 양식 유효성 검사

뇌 지도 기능에서 PHP 및 Vue의 핵심 코드 구현에 대한 심층 연구 요약: 이 기사에서는 뇌 지도 기능에서 PHP 및 Vue의 핵심 코드 구현에 대해 자세히 설명합니다. 뇌 매핑은 사고 구조와 관계를 표시하는 데 일반적으로 사용되는 그래픽 도구로 프로젝트 계획, 지식 관리, 정보 조직 등의 분야에서 널리 사용됩니다. PHP와 Vue에 대한 관련 지식을 학습함으로써 간단하면서도 강력한 두뇌 매핑 애플리케이션을 구현할 수 있습니다. PHPPHP는 일반적으로 사용되는 서버 측 스크립팅 언어임을 이해합니다. 배우기 쉽고 확장성이 뛰어납니다.
