JS 이벤트 자체 구축 함수인 바인딩() 및 호환성 문제에 대한 솔루션

angryTom
풀어 주다: 2019-12-30 17:51:18
앞으로
2192명이 탐색했습니다.

JS 이벤트 자체 구축 함수인 바인딩() 및 호환성 문제에 대한 솔루션

JavaScript 이벤트 바인딩을 위한 일반적인 메서드

1. Object.Event = function;

동시에 하나의 응답 함수만 객체의 이벤트에 바인딩할 수 있습니다.

은 불가능합니다. 여러 개가 바인딩되어 있으면 후자가 이전 항목을 덮어씁니다

2.addEventListener()

이 방법은 또한 바인드 요소 정의된 응답 함수

매개변수:

● 이벤트 문자열(on 없음)

● 이벤트가 트리거될 때 실행되는 콜백 함수 #🎜 🎜 #

● 캡처 단계에서 이벤트를 트리거할지 여부는 일반적으로 false를 전달합니다

이 방법을 사용하여 요소의 동일한 이벤트에 여러 응답 함수를 바인딩합니다

#🎜🎜 #이벤트가 발생하면 바인딩 순서대로 순차적으로 실행됩니다

3.attachEvent()

IE8 이하 브라우저에서는 addEventListener() 메서드를 지원하지 않지만, attachmentEvent() 메서드를 사용하면 동일한 효과를 얻을 수 있습니다.

● 매개변수:

이벤트 문자열(켜짐) #🎜 🎜#

● 콜백 함수

이 메서드는 여러 함수를 바인딩할 수도 있지만 함수 실행 순서가 addEventListener()

4와 반대입니다. 이 문제와 해결 방법

# 🎜🎜#

addEventListener()의 이 항목은 바인딩된 이벤트의 개체입니다attachEvent()의 이 항목은 창입니다

#🎜🎜 #호환성 문제를 해결하려면 두 메서드 중 this

을 통합해야 합니다. 여기서는 call() 메서드를 사용합니다

call()을 사용할 수 있습니다. this

# 함수를 변경합니다. 🎜🎜#자체 구축 함수인 바인딩()

이벤트를 객체에 바인딩하는 함수 정의#🎜 🎜#

● Idea

#🎜🎜 #3개의 매개변수: 객체, 이벤트, 콜백 함수 ● 호환성:

if를 사용하여 객체에는 브라우저를 구별하기 위한 addEventListener 메소드가 있습니다

#🎜🎜 #● 이 문제에 대한 해결 방법

들어오는 콜백 함수는 브라우저에서 호출하기 때문에 작동할 수 없으므로 작동하지 않습니다. AttachEvent()에 콜백함수를 직접 전달하되, 먼저 익명함수를 정의한 후 함수 내부에서 콜백함수를 호출하고, call 메소드를 사용하면 이 스터디가 달라집니다!

위 내용은 JS 이벤트 자체 구축 함수인 바인딩() 및 호환성 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
js
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!