JavaScript의 이벤트 핸들러에서 공용 함수를 호출하는 방법은 무엇입니까?

브린 치

Greeter라는 JavaScript 클래스가 있습니다. 내 수업에는 다음이 있습니다.

  • 건축업자에게
  • 문서 클릭 이벤트 핸들러
  • 라는 공개 함수 a

내가 원하는 것은 내 문서 클릭 이벤트 핸들러가 공용 함수를 호출하는 것 a입니다. 하지만 " Uncaught ReferenceError : a is not defined " 오류가 발생합니다.

이것은 내 코드입니다.

var Greeter = (function () {

    function Greeter() {
    }

    Greeter.prototype.a = function () {
        alert('I am in a');
    };

    $(document).on( "click", function() {
        alert('I am in click event handler');
        a(); // <-- Why can't I call the public function a
    });

    return Greeter;
})();

var greeter = new Greeter();

다음은 데모 입니다.

투 샤르

a여기서는 공개 기능 이 아닙니다 . window객체 에 정의 된 함수 는 공용이며 어디서나 액세스 할 수 있습니다 ( scope chain 사용 ). 의 프로토 타입에 정의되어 Greeter있으므로를 사용하여 Greeter에서 생성 된 객체 new Greeter또는 Greeter에서 상속 된 자식은 구문을 사용하여 호출 할 수 있습니다 obj.a().

다음 구문을 사용하여 함수를 호출 할 수 있습니다.

Greeter.prototype.a();

또는 다음에서 greeter생성 된 개체 를 사용하여 액세스 할 수도 있습니다.Greeter

greeter.a(); // instance of Greeter class. Has access to the function defined on prototype

또한 프로토 타입에 새 함수를 추가하는 코드와 함수 외부에 이벤트 바인딩을 추가하는 것이 좋습니다 Greeter.

업데이트 된 바이올린

var Greeter = (function() {
  function Greeter() {}

  return Greeter;
})();

Greeter.prototype.a = function() {
  alert('I am in a');
  // b();
};

$(document).on("click", function() {
  alert('I am in click event handler');
  Greeter.prototype.a();
});

var greeter = new Greeter();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

분류에서Dev

React : 이벤트 핸들러 내에서 반응 후크를 호출하는 방법은 무엇입니까?

분류에서Dev

useEffect 후크에 의해 호출되는 함수 호출을 중지하기 위해`onClick` 이벤트를 사용하는 방법은 무엇입니까?

분류에서Dev

onclick 이벤트에서 함수를 사용하고 루프를 사용하여 함수의 배열에서 함수를 계산하여 여러 JavaScript 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

SKSpriteNode에서 Swift의 완료 핸들러를 사용하여 연속 함수 호출을 수행하는 방법은 무엇입니까?

분류에서Dev

MVVM에서 이벤트를 처리하는 동안 이벤트 핸들러의 두 번째 매개 변수를 보내는 방법은 무엇입니까?

분류에서Dev

.one () 함수가 호출 된 후 이벤트 핸들러를 활성화하는 방법은 무엇입니까?

분류에서Dev

DOM 이벤트 핸들러 내에서 직접 범위 함수를 호출하는 가장 짧은 방법은 무엇입니까?

분류에서Dev

Lua 이벤트 핸들러 함수에서 'self'를 얻는 방법은 무엇입니까?

분류에서Dev

socket.io 사용자 정의 서버 이벤트를 호출하는 방법은 무엇입니까?

분류에서Dev

JavaScript의 이벤트 핸들러에 배치 된 함수의 인수로 this.value를 얻는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러 인 경우 Javascript 함수를 찾는 방법은 무엇입니까?

분류에서Dev

Flutter에서 위젯의 이벤트 핸들러 함수에 값을 올바르게 전달하는 방법은 무엇입니까?

분류에서Dev

Javascript에서 다른 함수의 함수 호출 수를 테스트하는 방법은 무엇입니까?

분류에서Dev

Javascript / jQuery를 사용하여 이벤트 핸들러를 배열 항목 제거에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Promise를 사용하여 함수 종료 내에서 이벤트를 기다린 다음이 함수를 다시 호출하는 방법은 무엇입니까?

분류에서Dev

jest에서 지연된 이벤트 핸들러를 테스트하는 방법은 무엇입니까?

분류에서Dev

blink1 HidLibrary를 활용하는 클래스에서 연결 / 연결 해제 이벤트 핸들러를 설정하는 방법은 무엇입니까?

분류에서Dev

VegaLite / Altair 플롯과의 상호 작용에서 외부에서 신호 / 이벤트를 방출하는 데 대한 해결 방법은 무엇입니까?

분류에서Dev

사용자가 SwiftUI에서 길게 누르기 제스처를 중지 할 때 이벤트 핸들러를 실행하는 방법은 무엇입니까?

분류에서Dev

Java의 이벤트 핸들러에서 JLabel에 선을 그리는 방법은 무엇입니까?

분류에서Dev

C ++의 cmath 라이브러리에서 특수 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

matplotlib의 다른 스크립트에서 onclick 이벤트를 호출하는 방법은 무엇입니까?

분류에서Dev

React 양식 입력 이벤트 핸들러를 사용하는 방법은 무엇입니까?

분류에서Dev

이벤트 핸들러를 하나로 사용하는 방법은 무엇입니까? 파이썬

분류에서Dev

React에서 자식 컴포넌트의 핸들러를 설정하는 방법은 무엇입니까?

분류에서Dev

jQuery에서 매개 변수를 사용하여 JavaScript 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

핸들러 내부에서 타이머를 사용하는 방법은 무엇입니까?

분류에서Dev

파이썬 라이브러리에서 사용자 정의 함수를 호출하는 좋은 방법은 무엇입니까?

Related 관련 기사

  1. 1

    하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

  2. 2

    React : 이벤트 핸들러 내에서 반응 후크를 호출하는 방법은 무엇입니까?

  3. 3

    useEffect 후크에 의해 호출되는 함수 호출을 중지하기 위해`onClick` 이벤트를 사용하는 방법은 무엇입니까?

  4. 4

    onclick 이벤트에서 함수를 사용하고 루프를 사용하여 함수의 배열에서 함수를 계산하여 여러 JavaScript 함수를 호출하는 방법은 무엇입니까?

  5. 5

    SKSpriteNode에서 Swift의 완료 핸들러를 사용하여 연속 함수 호출을 수행하는 방법은 무엇입니까?

  6. 6

    MVVM에서 이벤트를 처리하는 동안 이벤트 핸들러의 두 번째 매개 변수를 보내는 방법은 무엇입니까?

  7. 7

    .one () 함수가 호출 된 후 이벤트 핸들러를 활성화하는 방법은 무엇입니까?

  8. 8

    DOM 이벤트 핸들러 내에서 직접 범위 함수를 호출하는 가장 짧은 방법은 무엇입니까?

  9. 9

    Lua 이벤트 핸들러 함수에서 'self'를 얻는 방법은 무엇입니까?

  10. 10

    socket.io 사용자 정의 서버 이벤트를 호출하는 방법은 무엇입니까?

  11. 11

    JavaScript의 이벤트 핸들러에 배치 된 함수의 인수로 this.value를 얻는 방법은 무엇입니까?

  12. 12

    이벤트 핸들러 인 경우 Javascript 함수를 찾는 방법은 무엇입니까?

  13. 13

    Flutter에서 위젯의 이벤트 핸들러 함수에 값을 올바르게 전달하는 방법은 무엇입니까?

  14. 14

    Javascript에서 다른 함수의 함수 호출 수를 테스트하는 방법은 무엇입니까?

  15. 15

    Javascript / jQuery를 사용하여 이벤트 핸들러를 배열 항목 제거에 바인딩하는 방법은 무엇입니까?

  16. 16

    Promise를 사용하여 함수 종료 내에서 이벤트를 기다린 다음이 함수를 다시 호출하는 방법은 무엇입니까?

  17. 17

    jest에서 지연된 이벤트 핸들러를 테스트하는 방법은 무엇입니까?

  18. 18

    blink1 HidLibrary를 활용하는 클래스에서 연결 / 연결 해제 이벤트 핸들러를 설정하는 방법은 무엇입니까?

  19. 19

    VegaLite / Altair 플롯과의 상호 작용에서 외부에서 신호 / 이벤트를 방출하는 데 대한 해결 방법은 무엇입니까?

  20. 20

    사용자가 SwiftUI에서 길게 누르기 제스처를 중지 할 때 이벤트 핸들러를 실행하는 방법은 무엇입니까?

  21. 21

    Java의 이벤트 핸들러에서 JLabel에 선을 그리는 방법은 무엇입니까?

  22. 22

    C ++의 cmath 라이브러리에서 특수 함수를 호출하는 방법은 무엇입니까?

  23. 23

    matplotlib의 다른 스크립트에서 onclick 이벤트를 호출하는 방법은 무엇입니까?

  24. 24

    React 양식 입력 이벤트 핸들러를 사용하는 방법은 무엇입니까?

  25. 25

    이벤트 핸들러를 하나로 사용하는 방법은 무엇입니까? 파이썬

  26. 26

    React에서 자식 컴포넌트의 핸들러를 설정하는 방법은 무엇입니까?

  27. 27

    jQuery에서 매개 변수를 사용하여 JavaScript 함수를 호출하는 방법은 무엇입니까?

  28. 28

    핸들러 내부에서 타이머를 사용하는 방법은 무엇입니까?

  29. 29

    파이썬 라이브러리에서 사용자 정의 함수를 호출하는 좋은 방법은 무엇입니까?

뜨겁다태그

보관