자바스크립트의 온클릭 이벤트 질문입니다.


노드 js 책 예제 중 아래와같은 문에서

onload는 alert창이 되는데

버튼 이벤트가 들어가지 않네요 ㅜ 로그에도 없고요. 콘솔창에도 안뜨고요..

버튼을 클릭할때

개발자 콘솔창에

Uncaught TypeError: Cannot read property 'length' of undefined naver_dic.js:1046

이런 오류가 발생합니다.


<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="/socket.io/socket.io.js"></script>
  <script>
    window.onload = function(){
      alert("onload");
      var socket = io.connect();

      socket.on('smart',function(data){
        alert(data);
      });

      document.getElementById('button').onClick = function(){
         alert('button click');
      };

    };

  </script>
</head>
  <body>
      <input type="text" id="text"  />
      <input type="button" id="button" name="button" value="echo" />
  </body>
</html>

  • 2016년 07월 01일에 작성됨

조회수 535


2 답변


좋아요
0
싫어요
채택취소하기

onClick

https://jsfiddle.net/kuvq32vL/

onclick

https://jsfiddle.net/kuvq32vL/1/

위에 작성하신 코드에서 socket만 주석처리한 샘플 코드예요.

해당 링크에서 보시면 정상 동작하는 것 확인 가능해요.


나중에 추가해주신 오류 메시지 중 naver_dic.js:1046를 봐도

위 코드에는 naver_dic.js 관련 한 정보가 없는것으로 보아

올려주신 코드에는 포함 되어있지 않은 다른 부분이 원인으로 예상되네요.

  • 2016년 07월 02일에 작성됨


대소문자 원인으로 보이네요

onClick 대신 onclick 으로 수정해보세요~

참고:
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick

  • 2016년 07월 02일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close