JavaScript 이벤트 학습 3장 초기 이벤트 핸들러_Javascript 기술
이러한 고대 브라우저는 Netscape에서 개발한 이벤트 핸들러 등록 방법 중 하나만 지원합니다. Netscape가 먼저 공격했기 때문에 Microsoft가 JavaScript 이벤트를 지원하는 브라우저를 구축하려면 Netscape의 선례를 따라야 하므로 여기서는 호환성 문제가 없습니다. 따라서 이 모드는 이벤트를 전혀 지원하지 않는 Mac의 IE3을 제외하고 JavaScript를 지원하는 모든 브라우저에서 작동합니다.
이벤트 핸들러 등록
인라인 이벤트 등록 모델에서 이벤트 핸들러는 다음과 같은 HTML 요소의 속성과 같습니다.
이 링크에서 클릭 이벤트가 발생하면 이벤트 핸들러가 트리거되고 스크립트가 실행됩니다. 경고 대화 상자가 나타납니다. JavaScript 함수를 실행할 수도 있습니다.
위 두 예에서 이벤트 이름의 대소문자는 단지 습관의 문제입니다. , HTML 대소문자를 구분하지 않으므로 임의로 작성하시면 됩니다. XHTML에서는 모든 속성 이름이 소문자여야 하므로 XHTML을 사용하는 경우 이름을 onclick으로 작성해야 합니다.
사용하지 마세요
이 인라인 등록 모델은 매우 오래되고 안정적이지만 단점이 있습니다. 그는 여기에 속하지 않는 XHTML 구조 레이어 내부에 JavaScript 코드를 작성하도록 요구합니다.
그러므로 이 방법은 사용하지 않는 것이 좋습니다. 여기에 자세한 설명이 있습니다.
이러한 기존 모델을 이해하면 JavaScript 이벤트 처리에 대한 전체적인 느낌을 얻는 데 많은 도움이 되지만 아래에서 설명할 최신 모델을 사용하는 것이 더 좋습니다.
기본 액션
당시 넷스케이프에서는 기본 액션을 설정했는데, 기본 액션이 실행되지 않도록 하는 방법이 있었습니다. 그의 모델은 브라우저 전쟁과 표준을 구해냈고 오늘날에도 여전히 잘 작동합니다.
우리 모두 알고 있듯이 사용자가 링크를 클릭하면 브라우저는 href 속성에 따라 페이지를 로드합니다. 이는 링크에 대한 기본 작업입니다. 하지만 onclick 이벤트 핸들러를 정의하면 어떻게 될까요? 구현해야 하지만 언제 구현되나요?
이 링크를 클릭하면 이벤트 핸들러가 먼저 실행됩니다. 결국 기본 작업이 발생하면(새 페이지가 로드됨) 이벤트 핸들러 자체를 포함하는 이전 페이지가 메모리에서 지워집니다. onclick 이벤트 핸들러가 실행되는 경우 기본 작업 이전에 실행되어야 합니다.
이에는 매우 중요한 원칙이 있습니다. 이벤트가 기본 작업과 이벤트 핸들러를 모두 트리거하는 경우
, 이벤트 핸들러가 먼저 실행되고
기본 작업이 나중에 실행됩니다
. 따라서 위 예에서는 doSomething( )이 먼저 실행되고 브라우저가 링크를 엽니다.
기본 이벤트 차단
이를 결정한 후 대부분의 사람들은 기본 이벤트를 방지하는 방법에 대해 생각하기 시작합니다. 이 예에서는 브라우저가 새 페이지를 열지 못하게 할 수 있습니다.
따라서 이벤트 핸들러는 부울 값(true 또는 false)을 반환할 수 있습니다. false의 의미는 "기본 작업을 수행하지 않음"입니다. 이런 식으로 예제를 다음과 같이 변경할 수 있습니다.
이 링크는 실행되지 않습니다. 이 함수가 실행된 후 프로그램은 false를 반환하여 브라우저에 기본 작업을 수행하지 않도록 지시합니다.
때로는 함수가 기본 작업을 수행해야 하는 시기와 수행하지 말아야 하는 시기를 결정하도록 해야 할 때가 있습니다. 따라서 예를 다음과 같이 변경할 수 있습니다.
function doSomething()
{
return verify('정말로 이 링크를 따르시겠습니까?')
}
이것은 (매우 간단한) 사용자 상호작용입니다. 사용자에게 질문을 하고, 대답이 '예'이면 함수는 true를 반환하고, 너무 오랫동안 취소된 경우에는 false를 반환합니다. 이 반환 값은 이벤트 핸들러에 의해 캡처되어 이벤트 자체에 전달됩니다. flase인 경우 기본 작업이 실행되지 않고 링크가 입력되지 않습니다.
그러나 모든 기본 작업을 차단할 수 있는 것은 아닙니다. 예를 들어 언로드 이벤트가 작동하지 않습니다. 사용자가 브라우저 창을 닫는다고 가정하면 언로드 이벤트가 트리거됩니다. 창이 닫히는 것을 방지할 수 있다면 사용자가 원하지 않는데도 창이 계속 열려 있습니까? 물론 그렇지 않습니다.
Microsoft의 beforeunload 속성을 사용해 언로드를 방지할 수 있습니다. 사용자가 이 작업을 확인하도록 선택하는 데 매우 혼란스러운 상황을 만드는 대신. 사용하지 않는 것이 좋습니다.
기본 동작을 방지하기 위해 false를 반환하는 것은 모든 브라우저에서 지원됩니다. 이는 이벤트 핸들러의 기본 구성 요소입니다. 오늘날의 이벤트 핸들러 모델에는 기본 작업을 방지하기 위한 몇 가지 새로운 메서드도 추가되었습니다.
W3C는 이벤트에 방지Defalut() 메서드를 추가했습니다. 이 방법을 참조하면 기본 작업이 차단됩니다.
Microsoft는 이벤트에 returnValue 속성을 추가했습니다. 해당 값을 false로 설정하면 기본 작업도 차단됩니다.
하지만 그럴 필요는 없으며 false를 반환하는 것만으로도 충분합니다.
window.status
여기에는 false를 반환하는 예외가 있습니다. 마우스가 링크 위로 지나갈 때 변경되도록 창의 상태 표시줄을 설정하고 상태 표시줄에 링크 주소를 표시하는 기본 동작을 방지하려면 true를 반환해야 합니다:
이렇게 하지 않으면 코드가 작동하지 않습니다. 무슨 일이 일어나고 있는지 아무도 모릅니다. 그것은 단지 이상한 일입니다.
this
JavaScript에서 this 키워드는 일반적으로 함수의 소유자를 나타냅니다. 이것이 이벤트가 발생한 HTML 요소를 가리키면 모든 것이 정상이며 많은 일을 쉽게 할 수 있습니다.
안타깝게도 이 기능은 매우 강력하지만 정확히 어떻게 작동하는지 모르면 사용하기 어렵습니다. 이에 대해서는 다른 곳에서 자세히 논의했지만 여기서는 인라인 모드의 개요를 설명하겠습니다.
인라인 모드에서는 이를 이벤트 핸들러 함수에 매개변수로 전달할 수 있습니다. 따라서 다음을 수행할 수 있습니다.
당신은 함수에 obj에 저장되는 참조를 전달했습니다. 이제 클릭한 요소를 찾기 위해 문서를 탐색할 필요가 없습니다. 요소는 obj 변수에 안전하게 저장됩니다. 이제 다음을 수행할 수 있습니다.
🎜>{
var linkTo = obj.href;
return verify('정말로 'linkTo' 링크를 따르시겠습니까?')
}
함수 링크를 수락합니다. 참조는 obj에 저장됩니다. 이제 이 링크의 링크 주소를 읽고 확인할 수 있습니다. 이 방법은 모든 링크에 적용할 수 있습니다. 방금 클릭한 링크의 실제 주소가 항상 표시됩니다.
계속 학습해야 한다면 다음 장을 읽어보세요.

핫 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는 보다 효율적이고 유연한 이벤트 처리 방법을 제공합니다. 이벤트 처리란 무엇입니까? 이벤트 처리는 웹 애플리케이션 개발에 있어 매우 중요한 개념입니다. 이벤트는 모든 종류의 사용자 행일 수 있습니다.

Steam의 여름 세일은 이전에 최고의 게임 할인 행사를 주최했으며 올해는 Valve가 또 다른 홈런을 치는 것으로 보입니다. Steam 여름 할인 할인 게임 중 일부를 소개하는 예고편(아래 보기)이 방금 출시되었습니다.

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

Pygame의 이벤트 모듈 Event(Event)는 Pygame의 중요한 모듈 중 하나이며 일반적으로 사용되는 마우스 클릭, 키보드 탭, 게임 창 이동, 창 크기 조정, 특정 플롯 트리거 및 종료 등 전체 게임 프로그램을 구성하는 핵심입니다. .게임 등은 "이벤트"로 간주될 수 있습니다. 이벤트 유형 파이게임은 이벤트를 처리하는 데 특별히 사용되는 구조, 즉 이벤트 큐를 정의하는데, 이 구조는 큐에서 "선착순 처리"라는 기본 원칙을 따르며, 이벤트 큐를 통해 사용자 작업을 순차적으로 처리할 수 있습니다. -by-one 방식(트리거 이벤트). 다음 표에는 파이게임에서 일반적으로 사용되는 게임 이벤트가 나열되어 있습니다. 이름 설명 QUIT 사용자가 창의 닫기 버튼을 누릅니다. ATIVEEVENTPy

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

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