0
此代碼用於使用jQuery的聊天應用程序。 fetchMsg
方法工作得很好。問題出在入口類textarea,由於某種原因bind
函數不起作用。它不響應任何關鍵事件。我試過live
函數和on
函數。問題是在JavaScript中,或者我應該將textarea標記更改爲輸入類型文本標記?jquery綁定函數不起作用
// delcare new js global object
var chat = {}
chat.entry = $('.chat .entry');
// binding keydown event handler
// THIS PART DOESNT WORK
chat.entry.bind('keydown', function(e) {
console.log(e.keyCode);
if (e.keyCode === 13 && e.shiftKey === false) {
chat.throwMsg($(this).val());
}
e.preventDefault();
});
// fetch msgs method
chat.fetchMsg = function() {
$.ajax({
url: 'engine/chat.php',
type: 'post',
data: {
method: 'fetch'
},
success: function(data) {
$('.chat .msgs').html(data);
}
});
}
chat.throwMsg = function(msg) {
if ($.trim(msg).length != 0) {
$.ajax({
url: 'engine/chat.php',
type: 'post',
data: {
method: 'throw',
msg: msg
},
success: function(data) {
chat.fetchMsg();
chat.entry.val('');
}
});
}
}
chat.interval = setInterval(chat.fetchMsg, 2000);
其中是html標記 –
您的代碼在'document.ready()'處理程序中嗎? – Barmar
如果你發佈相關的HTML部分,這將是有益的 –