我正在尝试按下输入以使用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不在这里工作。
答案 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>