사용자 스크립트에서 onclick 속성을 통해 함수를 호출하려고 하면 잡히지 않은 ReferenceError: 함수가 아닙니다. 정의되었습니다.
함수가 스크립트에 정의되어 있는 기존의 onclick 속성 동작은 샌드박싱 메커니즘으로 인해 사용자 스크립트에서 작동하지 않습니다.
이 문제를 해결하려면 항상 onclick 대신 addEventListener()를 사용하세요. attribute.
onclick 속성을 다음으로 교체:
document.getElementById("ElementID").addEventListener("click", functionName, false);
DOM 덮어쓰기 및 이벤트 처리기
DOM을 덮어쓰기 위해 innerHTML이나 externalHTML을 사용하지 마세요. 기존 이벤트 핸들러를 제거하므로 요소를 여러 번 제거합니다.
고유 ID
각 요소에 고유 ID가 있는지 확인하세요. ID를 재사용하면 유효성 검사 문제가 발생합니다.
이 코드에서 onclick 속성은 addEventListener()로 대체되었으며 DOM 덮어쓰기 문제는 해결되었습니다.
for (i = 0; i < EmoteURLLines.length; i++) { if (checkIMG (EmoteURLLines[i])) { emoteTab[2].innerHTML += '<span>
위 내용은 내 사용자 스크립트의 onclick 속성이 \'잡히지 않은 참조 오류: 함수가 정의되지 않았습니다\'를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!