Jquery keydown不会工作

时间:2017-03-09 09:23:14

标签: javascript jquery ajax

我正在尝试按下输入以使用jquery发送数据,但我的代码无效。任何人都可以告诉我这里缺少什么?

<textarea name="reply" class="reply" id="replyChat" placeholder="Write your message"></textarea>

JS

function SendMessage() { 
       $.ajax({
        type: "POST",
        url: "/ajax/reply",
        data: dataString,
        cache: false,
        success: function(html) {
            $('.messages-body').append(html);
        }
      });
     }

   $('#replyChat').bind('keydown', function(e) {
      if(e.keyCode==13) {
        SendMessage();
    }
  });
  $('body').on("click",".reply-btn",function() {
     SendMessage();
 });

点击功能正常工作只是keydown不在这里工作。

1 个答案:

答案 0 :(得分:1)

使用event delegation作为动态生成的元素,尽管使用jQuery建议的event.which属性。

function SendMessage() {
  console.log('hi');
  // replace with your ajax code
}

$('body').on('keydown', '#replyChat', function(e) {
  if (e.which == 13) {
    SendMessage();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="reply" class="reply" id="replyChat" placeholder="Write your message"></textarea>