私は小さなチャットをしています:)
ユーザーが入力している (または入力を停止した) 場合、これは他のユーザーに通知され、ユーザーが入力するかどうかを切り替えた場合にのみ (テキストエリアが空かどうかを確認する)
今、私はこれらの信号が次々と急速に送信されるのを防ぎたい.. settimeout でそれを行うことができると考えていますが、コードのどこにどのように配置すればよいかわかりません:
var istyping = false;
var wastyping = false;
chatfield.keyup(function(e) {
if (e.keyCode != 13) {
function typesignal(state) {
channel.send(JSON.stringify({
username: username,
type: 'typing',
message: state
}));
}
if (chatfield.val()) {
istyping = true;
if (wastyping==false) {
typesignal(1);
wastyping = true;
}
} else {
istyping = false;
if (wastyping==true) {
typesignal(0);
wastyping = false;
}
}
}
});