我正在做一个小聊天:)
当用户正在输入(或停止输入)时,会向其他用户发出信号,并且仅当用户在输入与否之间切换时(检查 textarea 是否为空)
现在我想防止这些信号一个接一个地发送得太快。我认为一些 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;
}
}
}
});