콜백 함수에는 'this'가 표시되지 않습니다.

user3917453

내 콜백 함수에 'this'가 표시되지 않습니다.

바인딩 키 누르기의 코드는 다음과 같습니다.

     initialize: function () {
        $(document).bind('keyup', this.keyPress);
        _.bindAll(this, 'rotate');
     },
     rotate: function (event) {
        //smth...
     }

여기에 기능 keyPress가 있습니다.

     keyPress: function(event) {
        console.log(event.keyCode);
        var pageX = 0, pageY = 0;
        var ev = new Object();
        ev.pageY = pageY;
        ev.pageX = pageX;

        func = this.rotate;
        func(ev);
        //also I tried like this:
        //this.rotate(ev);
    }

오류 : "Uncaught TypeError : undefined는 함수가 아닙니다."

나는 그것을 얻을 수 없다.

정말 감사합니다, 감사합니다!

Benbrunton

여기서 문제는 JQuery에서 bind가 이벤트 리스너를 추가하지만 'this'의 컨텍스트를 설정하지 않는다는 것입니다.

밑줄을 사용하여 메서드를 컨텍스트에 바인딩해야합니다.

예 :

 initialize: function () {
    $(document).bind('keyup', _.bind(this.keyPress, this));
    _.bindAll(this, 'rotate');
 },
 rotate: function (event) {
    //smth...
 }

그러면 'this'가 올바른 개체를 참조하는지 확인할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AngularJS Toaster가 콜백에 표시되지 않습니다.

분류에서Dev

내 Chromecast가 수신자 목록 콜백에 표시되지 않습니다.

분류에서Dev

setParams가 콜백 함수에서 작동하지 않습니다.

분류에서Dev

$ .get 콜백 함수가 실행되지 않았습니다.

분류에서Dev

getJSON 콜백 함수가 실행되지 않았습니다.

분류에서Dev

객체 콜백 함수가 정의되지 않았습니다.

분류에서Dev

객체 콜백 함수가 정의되지 않았습니다.

분류에서Dev

성공 콜백 함수가 호출되지 않았습니다.

분류에서Dev

Woocommerce 콜백 함수가 호출되지 않습니다.

분류에서Dev

JWPlayer 콜백 함수가 실행되지 않습니다.

분류에서Dev

결과가 표시되지 않는 최종 콜백

분류에서Dev

JQuery 콜백 함수가 작동하지 않습니다.

분류에서Dev

콜백 함수는 JSONP에서 호출되지 않습니다.

분류에서Dev

익명 함수는 콜백에서 "정의되지 않은 함수가 아닙니다"를 제공합니다.

분류에서Dev

무료 jqGrid-filterToolbar의 콜백 함수가 호출되지 않습니다.

분류에서Dev

자바 스크립트의 콜백 함수에서 지역 변수가 정의되지 않았습니다.

분류에서Dev

.get ()에는 콜백 함수가 필요하지만 route. (익명 함수)에서 get []으로 [객체가 정의되지 않음]을 얻었습니다.

분류에서Dev

비동기 함수의 콜백 인수에 정의되지 않은 오류가 발생했습니다.

분류에서Dev

Angular $ scope가 $ scope. $ apply를 사용하더라도 콜백 함수에 적용되지 않습니다.

분류에서Dev

특정 조건에서 뒤로 버튼 콜백 함수가 실패하거나 실행되지 않습니다.

분류에서Dev

콜백 함수의 React 구성 요소가 호출되지 않고 오류가 발생하지 않습니다.

분류에서Dev

콜백 함수가 비동기 함수 내에서 실행되지 않는 이유는 무엇입니까?

분류에서Dev

Google Geocode API에 대한 콜백 함수가 즉시 실행되지 않음

분류에서Dev

공백 또는 '뒤에 데이터가 표시되지 않습니다.

분류에서Dev

Route.get ()에는 콜백 함수가 필요하지만 서버 경로를 수정 한 후 [정의되지 않은 객체]가 있습니다.

분류에서Dev

setwaitedtimer 함수는 c에서 콜백 함수를 호출하지 않습니다.

분류에서Dev

Route.post ()에는 콜백 함수가 필요하지만 Passport 인증을 사용하는 동안 [개체가 정의되지 않음]이 있습니다.

분류에서Dev

C # 콜백 함수는 C ++ 코드에서 호출되지 않습니다.

분류에서Dev

React useEffect 정리 함수가 useEffect 콜백 직후에 실행되고 다시는 실행되지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    AngularJS Toaster가 콜백에 표시되지 않습니다.

  2. 2

    내 Chromecast가 수신자 목록 콜백에 표시되지 않습니다.

  3. 3

    setParams가 콜백 함수에서 작동하지 않습니다.

  4. 4

    $ .get 콜백 함수가 실행되지 않았습니다.

  5. 5

    getJSON 콜백 함수가 실행되지 않았습니다.

  6. 6

    객체 콜백 함수가 정의되지 않았습니다.

  7. 7

    객체 콜백 함수가 정의되지 않았습니다.

  8. 8

    성공 콜백 함수가 호출되지 않았습니다.

  9. 9

    Woocommerce 콜백 함수가 호출되지 않습니다.

  10. 10

    JWPlayer 콜백 함수가 실행되지 않습니다.

  11. 11

    결과가 표시되지 않는 최종 콜백

  12. 12

    JQuery 콜백 함수가 작동하지 않습니다.

  13. 13

    콜백 함수는 JSONP에서 호출되지 않습니다.

  14. 14

    익명 함수는 콜백에서 "정의되지 않은 함수가 아닙니다"를 제공합니다.

  15. 15

    무료 jqGrid-filterToolbar의 콜백 함수가 호출되지 않습니다.

  16. 16

    자바 스크립트의 콜백 함수에서 지역 변수가 정의되지 않았습니다.

  17. 17

    .get ()에는 콜백 함수가 필요하지만 route. (익명 함수)에서 get []으로 [객체가 정의되지 않음]을 얻었습니다.

  18. 18

    비동기 함수의 콜백 인수에 정의되지 않은 오류가 발생했습니다.

  19. 19

    Angular $ scope가 $ scope. $ apply를 사용하더라도 콜백 함수에 적용되지 않습니다.

  20. 20

    특정 조건에서 뒤로 버튼 콜백 함수가 실패하거나 실행되지 않습니다.

  21. 21

    콜백 함수의 React 구성 요소가 호출되지 않고 오류가 발생하지 않습니다.

  22. 22

    콜백 함수가 비동기 함수 내에서 실행되지 않는 이유는 무엇입니까?

  23. 23

    Google Geocode API에 대한 콜백 함수가 즉시 실행되지 않음

  24. 24

    공백 또는 '뒤에 데이터가 표시되지 않습니다.

  25. 25

    Route.get ()에는 콜백 함수가 필요하지만 서버 경로를 수정 한 후 [정의되지 않은 객체]가 있습니다.

  26. 26

    setwaitedtimer 함수는 c에서 콜백 함수를 호출하지 않습니다.

  27. 27

    Route.post ()에는 콜백 함수가 필요하지만 Passport 인증을 사용하는 동안 [개체가 정의되지 않음]이 있습니다.

  28. 28

    C # 콜백 함수는 C ++ 코드에서 호출되지 않습니다.

  29. 29

    React useEffect 정리 함수가 useEffect 콜백 직후에 실행되고 다시는 실행되지 않는 이유는 무엇입니까?

뜨겁다태그

보관