window.event를 사용하지 마십시오.

2371 단어 javascriptwarningdom
다음 HTML 및 JavaScript가 있다고 가정합니다.

<button id="btn">Click me</button>



let myBtn = document.querySelector("#btn");

myBtn.addEventListener("click", () => {
  console.log(event);  
});


버튼을 클릭하면 어떤 일이 일어날 것이라고 생각하십니까?
event가 정의되지 않았거나 이와 유사한 것이 작동하지 않을 것이라고 생각하는 경우 브라우저가 더 이상 신경쓰지 않는 한 놀랍게도 해당 이벤트에 대한 올바른 Event 객체를 얻게 됩니다.

실제로 일어나는 일은 eventwindow의 읽기 전용 속성이고 이벤트 핸들러 외부에서 이 event는 항상 undefined입니다. 그러나 이벤트가 발생하면 해당 이벤트 핸들러 내에서만 브라우저에서 지원하는 경우 값으로 각각의 Event 객체를 가집니다.

⚠️ 경고: MDN에서 권장하지 않으며 더 이상 사용되지 않는 기능이며 지원되는 경우 삭제될 수 있습니다. 따라서 이와 같은 객체Event에 액세스하는 것을 피하고 대신 이벤트 핸들러의 첫 번째 매개변수를 사용하여 액세스해야 합니다. 예를 들어:

myBtn.addEventListener("click", event => {
  console.log(event);  
});

좋은 웹페이지 즐겨찾기