По какой-то причине мой 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 секунду? Как функция предотвращения спама. Думаю, это решило бы проблему?
Любые идеи?
Cant возможно, что они давят дважды быстро, на весь разговор в чате человек, использующий IE9 всегда было ровно два одинаковых сообщения, а не один – Alosyius