2014-09-05 6 views
-6

내가 Enter 키를 누를 때마다 firefox와 Internet Explorer에서도 ReferenceError가 발생합니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까? :)ReferenceError : 이벤트가 정의되지 않았습니다.

function status_post_comment(id) { 

    if(event.which == 13 && !event.shiftKey) { 

     var check_comment = $.trim($('#status_comment_'+id).val()); 
     var comment = $('#status_comment_'+id).val(); 

    if(check_comment.length >0) { 

     $.ajax({ 

      type: 'POST', 
      url: '<?php echo $domain; ?>social/comment_ajax.php', 
      data: 'id='+id+'&comment='+comment, 

     success: function(result) { 

      $('#append_comment_status_'+id).append(result); 
      $('#status_comment_'+id).val(''); 
      $(".timeago").timeago(); 
      $('.comment_input').val(''); 

     } 

     }); 

    } 

    } 

} 
+0

function status_post_comment (id, event) { – aquinas

+0

여기서 당신은 함수를 사용하고 있습니까 – Satpal

+0

'event'가 정의되어 있지 않으므로 정의하십시오! 그처럼 간단합니다. –

답변

2

event는 IE와 그것을 모방 선택 브라우저에서 글로벌이다. 표준 브라우저에서는 event이 이벤트 핸들러로 전달되는 인수입니다. 어떻게하면 status_post_comment을 연결할 지 알 수 없지만 그 일을하는 곳에서는 event 인수를 전달해야합니다.

예를 들어, 당신이 on("click", ...)를 통해 그것을 접선 있다면, 당신은 사용할 수 ES5의 (이전 버전의 브라우저를 위해 shimmed 할 수 있습니다) Function#bind :

someElement.on("click", status_post_comment.bind(null, id)); 

... 그리고 event에 동의 status_post_comment를 업데이트

function status_post_comment(id, event) 

(우리가 그것을 행하기 때문에 id는 먼저, 다음 바운드 함수에 주어진 인수를 따르십시오.)

0

문제가 해결되었습니다.

내가 그렇게 분명히이 작동하지 않는 이벤트를 정의하지 않고 인라인의 onclick = 'status_post_comment (ID)'

을 사용했다. function 매개 변수에 이벤트를 추가했는데 이제는 작동합니다.]

관련 문제