여기 여기 내 자바 스크립트 파일 /tmp/js/my.js
내 html 파일 /tmp/test/test.html
이 이벤트 핸들러 설정이 작동하지 않는 이유는 무엇입니까?
<!DOCTYPE html>
<html>
<head>
<script src="../js/my.js" defer>
</script>
</head>
<body>
<p>This example uses the HTML DOM to assign an "onchange" event to an input element.</p>
Enter your name: <input type="text" id="fname">
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p>
</body>
</html>
이지만, 이벤트 핸들러의 설정이 작동하지 않습니다. 왜 작동하지 않는가, 그리고 그것을 작동하게하려면 어떻게해야 하는가?
function myFunction1(input) {
input.value = input.value.toUpperCase();
}
document.getElementById("fname").onchange = myFunction1;
나는 이벤트 핸들러가 작동
function myFunction2() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
}
document.getElementById("fname").onchange = myFunction2;
내 자바 스크립트 파일의 내용을 교체합니다. 두 가지 방법이 왜 이렇게 다른지 궁금합니다.
외부 자바 스크립트 파일 또는 html 파일의 이벤트 처리기 설정을 지정하는 가장 좋은 방법은 무엇입니까?
감사합니다.
이벤트 핸들러의 최초의 파라미터가 'Event' 목적을; ''('this ')이 아닙니다. – Xufox
@Xufox 그리고 그게 내가 오늘 직장에서 너무 오래 있었는지 아는거야 :) – Phil