웹 사이트에 사용자 정의 이모티콘을 추가하기 위해 사용자 스크립트를 생성하려고 하면 오류가 발생합니다. onclick으로 버튼을 클릭하면 "잡히지 않은 참조 오류: 함수가 정의되지 않았습니다" 발생 attribute.
이 문제는 사용자 스크립트에서 onclick 속성을 사용할 때 발생합니다. 사용자 스크립트는 대상 페이지와 별도의 샌드박스 환경에서 실행되므로 사용자 스크립트 내에서 생성된 onclick 이벤트는 페이지에 정의된 기능에 액세스할 수 없습니다.
이 문제를 해결하려면 onclick 속성 대신 addEventListener()를 사용해야 합니다. 이렇게 하면 이벤트 리스너가 올바르게 추가되고 사용자 스크립트 내에 정의된 함수에 액세스할 수 있습니다.
다음은 문제를 해결하는 수정된 코드 버전입니다.
// Replace onclick attribute with event listener emoteTab[2].innerHTML += '<span>
데이터 속성 사용법:
이전에 시도한 것처럼 이벤트 핸들러의 onclick 속성 내에서 데이터를 전달하는 대신 데이터 속성을 사용하여 HTML 요소 자체에 데이터를 저장하는 것이 좋습니다.
ID 중복:
여러 요소에 동일한 ID를 재사용하지 마십시오. 예상치 못한 동작이 발생할 수 있습니다.
innerHTML 덮어쓰기:
요소의 innerHTML을 수정하면 기존 이벤트 핸들러가 모두 제거됩니다. 따라서 HTML을 변경한 후 이벤트 리스너를 다시 생성하는 것이 중요합니다.
위 내용은 HTML 요소 클릭 시 내 사용자 스크립트에 \'참조 오류: 함수가 정의되지 않음\'이 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!