最初にkeyup
に「入力しています」というメッセージを送信し、window.setTimeout
を使用して10秒後に「入力しない」というメッセージを送信します。すべてのキーアップ時にsetTimeoutをキャンセルして再スケジュールします。
以下のテストされていない例:
var input = document.getElementById('typeeBox');
var isTyping = false;
var timeoutId = 0;
function stoppedTyping() {
isTyping = false;
// Send not typing message.
// Update db status.
}
function startedTyping() {
if (!isTyping) {
// Send is typing message.
// Update db status.
isTyping = true;
timeoutId = window.setTimeout(stoppedTyping, 10000);
} else {
window.clearTimeout(timeoutId);
timeoutId = window.setTimeout(stoppedTyping, 10000);
}
}
input.addEventListener('keyup', startedTyping, false);
は 'keydown'ハンドラを使用してください。ユーザーがテキストボックスに文字を入力する場合は、「入力しています」というメッセージを送信し、ユーザーがテキストボックスを空にした場合は、空のメッセージを送信します(メッセージ出力を消去する)。 –
ありがとう、私はこれもコードを作成できるかどうかを試してみます。 – Ingrid