이벤트 핸들러에 이벤트 전달

트리스탄 트란

내가 사용하고자하는 .bind이 스레드에서 약간의 최신 솔루션에 따라 이벤트 핸들러를 구현하는 솔루션을 여기에 .

그러나 내 원래 처리기가 다음과 같다고 가정합니다.

const clickHandler = (arg1, arg2) => {
   ...do stuff...
}

let var1 = "text1"
let var2 = "text2"
myButton.addEventListener("click", clickHandler.bind(null, var1, var2))

event인수 가 필요한 다음과 같은 줄 을 핸들러 에 추가해야하는 경우 :

const clickHandler = (arg1, arg2) => {
   event.stopPropagation()
   ...do stuff...
}

을 사용하지 않고 수행하면 다음 .bind과 같이 작동합니다.

const clickHandler = (arg1, arg2) => {
   ...do stuff...
}

let var1 = "text1"
let var2 = "text2"
myButton.addEventListener("click", (event) => {
   event.stopPropagation()
   clickHandler(var1, var2)
})

하지만을 사용하여 간결하게 만들고 싶다면 .bind어떻게 event핸들러에 전달해야 합니까? 감사.

정어리

bind()첫 번째 인수 이후에 전달 되는 인수는 함수가 생성 될 때 함수에 제공된 인수 앞에 추가 됩니다 (이 경우) event. 즉, 결과 바운드 콜백에서는 eventbind를 사용하지 않는 경우 정상적인 첫 번째 인수가 아니라 콜백이 수신하는 마지막 인수가됩니다. this화살표 기능이므로 변경되지 않습니다.

일관되고 알려진 수의 인수를 각각 전달하는 경우 bind()직접 액세스 할 수 있습니다.

const clickHandler = (arg1, arg2, event) => {
...
}

그렇지 않으면 바인딩 된 인수의 수가 다를 event경우 arguments반복기 에서 마지막 요소를 검색하여에 액세스 할 수 있습니다 .

const clickHandler = (...args) => {
  const event = args.pop();
...
}

const myButton = document.getElementById('button');

const clickHandler = (...args) => {
  const event = args.pop();
  console.log(event.target);
  console.log('args: ', args);
}

let var1 = "text1"
let var2 = "text2"

myButton.addEventListener("click", clickHandler.bind(null, var1, var2));
<button type='button' id='button'>Button</button>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HTML에서 다중 인수 onMouseover 이벤트 핸들러 전달

분류에서Dev

새 양식에서 이벤트 핸들러로 변수 전달

분류에서Dev

이벤트 핸들러에 콜백 전달

분류에서Dev

공통 이벤트 핸들러에 관련 클래스 전달

분류에서Dev

Ember 핸들 바 도우미의 이벤트 핸들러에 인수 전달

분류에서Dev

Ember 핸들 바 도우미의 이벤트 핸들러에 인수 전달

분류에서Dev

여러 이벤트가있는 jQuery .on () 메서드-이벤트 핸들러 함수에 인수 전달

분류에서Dev

jQuery없이 지시어 핸들러에 모의 DOM 이벤트 전달

분류에서Dev

canvas.bind (event, handler)는 이벤트 핸들러에 이벤트를 어떻게 전달합니까?

분류에서Dev

이벤트 핸들러를 매개 변수로 전달

분류에서Dev

이벤트 핸들러를 매개 변수로 전달

분류에서Dev

비동기 함수 값을 이벤트 핸들러에 전달하는 방법

분류에서Dev

매개 변수가있는 함수를 이벤트 핸들러에 전달

분류에서Dev

이벤트 핸들러에 인수를 어떻게 전달합니까?

분류에서Dev

JS-이벤트 핸들러를 사용하여 함수에 인수 전달

분류에서Dev

이벤트 핸들러를 React에서 소품으로 전달합니다.

분류에서Dev

클릭 핸들러에서 이벤트 전파 중지

분류에서Dev

JQuery`on` 이벤트 핸들러 : 이벤트 위임 및 사용자 지정 데이터 전달

분류에서Dev

이벤트 및 컨텍스트를 전달하는 Pytest 람다 핸들러

분류에서Dev

이벤트에 개체 이름 전달

분류에서Dev

Jquery 이벤트 핸들러 ".on ()"

분류에서Dev

핸들러가 트리거되기 전에 jQuery 이벤트 객체 확장

분류에서Dev

이벤트에 datagridview 전달-이벤트 결합

분류에서Dev

동적으로 추가 된 이벤트 핸들러는 자바 스크립트에서 이전 이벤트 핸들러를 비활성화합니다.

분류에서Dev

이벤트 핸들러에서 대기

분류에서Dev

경로로 이동하여 이벤트 핸들러에서 소품을 전달합니다.

분류에서Dev

Vue.js는 바운드 데이터를 클릭 이벤트 핸들러에 전달합니다.

분류에서Dev

onChange 이벤트에 C # 특성 전달

분류에서Dev

tkinter-함수에 이벤트 전달

Related 관련 기사

  1. 1

    HTML에서 다중 인수 onMouseover 이벤트 핸들러 전달

  2. 2

    새 양식에서 이벤트 핸들러로 변수 전달

  3. 3

    이벤트 핸들러에 콜백 전달

  4. 4

    공통 이벤트 핸들러에 관련 클래스 전달

  5. 5

    Ember 핸들 바 도우미의 이벤트 핸들러에 인수 전달

  6. 6

    Ember 핸들 바 도우미의 이벤트 핸들러에 인수 전달

  7. 7

    여러 이벤트가있는 jQuery .on () 메서드-이벤트 핸들러 함수에 인수 전달

  8. 8

    jQuery없이 지시어 핸들러에 모의 DOM 이벤트 전달

  9. 9

    canvas.bind (event, handler)는 이벤트 핸들러에 이벤트를 어떻게 전달합니까?

  10. 10

    이벤트 핸들러를 매개 변수로 전달

  11. 11

    이벤트 핸들러를 매개 변수로 전달

  12. 12

    비동기 함수 값을 이벤트 핸들러에 전달하는 방법

  13. 13

    매개 변수가있는 함수를 이벤트 핸들러에 전달

  14. 14

    이벤트 핸들러에 인수를 어떻게 전달합니까?

  15. 15

    JS-이벤트 핸들러를 사용하여 함수에 인수 전달

  16. 16

    이벤트 핸들러를 React에서 소품으로 전달합니다.

  17. 17

    클릭 핸들러에서 이벤트 전파 중지

  18. 18

    JQuery`on` 이벤트 핸들러 : 이벤트 위임 및 사용자 지정 데이터 전달

  19. 19

    이벤트 및 컨텍스트를 전달하는 Pytest 람다 핸들러

  20. 20

    이벤트에 개체 이름 전달

  21. 21

    Jquery 이벤트 핸들러 ".on ()"

  22. 22

    핸들러가 트리거되기 전에 jQuery 이벤트 객체 확장

  23. 23

    이벤트에 datagridview 전달-이벤트 결합

  24. 24

    동적으로 추가 된 이벤트 핸들러는 자바 스크립트에서 이전 이벤트 핸들러를 비활성화합니다.

  25. 25

    이벤트 핸들러에서 대기

  26. 26

    경로로 이동하여 이벤트 핸들러에서 소품을 전달합니다.

  27. 27

    Vue.js는 바운드 데이터를 클릭 이벤트 핸들러에 전달합니다.

  28. 28

    onChange 이벤트에 C # 특성 전달

  29. 29

    tkinter-함수에 이벤트 전달

뜨겁다태그

보관