2017-04-20 9 views
-2

이 문제는 한 번 겪었습니다. 나는 왜 event.pageX이 작동하지 않는지 모르겠다. "스크립트 오류"라는 오류를 반환합니다. 내 문제를 해결하도록 도와주세요.event.pageX가 작동하지 않습니다.

JS (단편)

function warning() { 
    function show() { 
     alert('No cheating!') 
    } 
    if (event.pageX > 456) { 
     setInterval(show, 50) 
    } 
} 

내가 적절 jQuery를 3.1.1 업로드 I 함수 내부 기능을 정의하기 때문에이 아니다. 나는 다른 코드에서 그렇게했고 잘 동작했다. 또한 함수 내에서 정의 된 함수가 아니라는 것을 알고 있습니다. 조건문을 제거하면 "스크립트 오류"가 발생하지 않기 때문입니다.

+1

'기능 경고 (이벤트)' – mehulmpt

+0

*이 * '는 ". 스크립트 오류"라는 오류를 반환합니다'. 브라우저의 콘솔에서 오류에 대해 다른 것을 알려주지 않았습니까? 어쨌든 왜 50ms마다 경보를 울리려고합니까? – nnnnnn

+0

전체 코드 컨텍스트를 표시 ... 우리는 당신이 이것을 어디에서 호출하는지조차 모릅니다. See [mcve] – charlietfl

답변

2

event은 전역 변수가 아닙니다. 이전 버전의 IE에서 작동하지만 최신 브라우저의 경우 이벤트는 이벤트 처리기에서 인수로 선언해야합니다. 즉, 매우 모호한 오류 메시지입니다 -

function warning(event) { 
 
    console.log(event.pageX); 
 
} 
 

 
document.querySelector('button').addEventListener('click', warning);
<button>click</button>