>웹 프론트엔드 >JS 튜토리얼 >JS 이벤트 자체 구축 함수인 바인딩() 및 호환성 문제에 대한 솔루션

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

angryTom
angryTom앞으로
2019-12-30 17:51:182453검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

관련 기사

더보기