0
由於某種原因,我的onkeyup似乎在IE9上被一些人觸發兩次。Javascript onkeyup有時會被觸發兩次
我現在的功能是這樣的:
document.getElementById("chatboxtextarea").onkeyup=function(e) {
e = e || window.event;
var msg = document.getElementById('chatboxtextarea').value;
if(e.keyCode != null) {
if (msg.replace(/\r/g, '\\\\r').replace(/\n/g, '') != "" && e.keyCode == 13) {
var textarea = document.getElementById('chatboxtextarea');
textarea.value = '';
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var tD = curr_hour + ":" + curr_min;
var url = 'http://domain.com/sub/' + kanal + '/' + encodeURIComponent(_aNM) + '/' + encodeURIComponent(_sid) + '/' + encodeURIComponent(_aID) + '/' + encodeURIComponent(_pMsg) + '/' + encodeURIComponent(msg.replace(/\r/g, '').replace(/\n/g, '')) + '/' + encodeURIComponent(_hits);
var data = {};
var callback = function (data) { };
J50Npi.getJSON(url, data, callback);
} else if (msg.replace(/\r/g, '\\\\r').replace(/\n/g, '') == '') {
var textarea = document.getElementById('chatboxtextarea');
textarea.value = '';
}
}
};
這是一個基本的聊天輸入框。問題是服務器收到來自這些IE9用戶的兩條消息(有時)。
我如何添加支票以查看人們是否已在最近1秒內寫入消息?像垃圾郵件預防功能..我想這會解決問題?
任何想法?
不能是可能的,他們按兩次快,在整個聊天對話使用IE9的人總是有正好有兩個相同的消息,而不是一個 – Alosyius