복붙노트

[JQUERY] ReferenceError가 : 이벤트가 파이어 폭스에 오류가 정의되지 않은

JQUERY

ReferenceError가 : 이벤트가 파이어 폭스에 오류가 정의되지 않은

해결법


  1. 1.당신은 잘못 이벤트 핸들러 (일부의) 선언하고 있습니다 :

    당신은 잘못 이벤트 핸들러 (일부의) 선언하고 있습니다 :

    $('.menuOption').click(function( event ){ // <---- "event" parameter here
    
        event.preventDefault();
        var categories = $(this).attr('rel');
        $('.pages').hide();
        $(categories).fadeIn();
    
    
    });
    

    당신은 "이벤트"는 핸들러에 매개 변수 될 필요가있다. 웹킷은 "이벤트"에 대한 전역 심볼을 사용하는 IE의 이전 동작을 따라하지만, 파이어 폭스하지 않습니다. 당신이 jQuery를 사용하고있는 경우, 해당 라이브러리는 이벤트 핸들러는 이벤트 매개 변수를 전달하는 동작과 보장하지만 정규화.

    편집 - 명확히 : 당신은 몇 가지 매개 변수 이름을 제공해야합니다; 이벤트를 사용하면 당신이하려는 것을 취소한다, 그러나 당신은 전자 또는 컵 케이크 또는 아무것도를 호출 할 수 있습니다.

    참고 또한 이유는 당신은 아마 jQuery를 대신 (크롬과 IE와 사파리에서) 하나 "기본"에서 전달 된 매개 변수 하나 (매개 변수) 네이티브 이벤트 객체 주위에 jQuery를 래퍼는 점이다를 사용한다고. 래퍼는 브라우저에서 이벤트 동작을 정상화하는 것이다. 전역 버전을 사용하는 경우, 당신은 그렇게하지 않습니다.


  2. 2.당신이 클릭 기능으로 이벤트를 전달하는 것을 잊었다 때문이다 :

    당신이 클릭 기능으로 이벤트를 전달하는 것을 잊었다 때문이다 :

    $('.menuOption').on('click', function (e) { // <-- the "e" for event
    
        e.preventDefault(); // now it'll work
    
        var categories = $(this).attr('rel');
        $('.pages').hide();
        $(categories).fadeIn();
    });
    

    이벤트는 대부분의 브라우저에서 전역 변수이기 때문에 단어 이벤트는 달리 보조 노트에, 전자는 더 일반적으로 사용된다.

  3. from https://stackoverflow.com/questions/20522887/referenceerror-event-is-not-defined-error-in-firefox by cc-by-sa and MIT license