사용자가 내 채팅 시스템에을 입력하면 표시됩니다.이벤트를 사용 안함으로 설정하고 다시 jquery에서 이벤트를 사용하도록 설정하십시오.
$('#m').keypress(function(){
socket.emit('typing', 'user is typing...');
});
그러나 나는 그것이 매번 어떤 키를 누를 때 키 누르기 이벤트를 방출하지 않으 : 나는 keypress
이벤트에 의해 그것을했다. 따라서 키가 누를 때마다 keypress 이벤트를 내 보냅니다. 그런 다음 사용자가 메시지를 전달하지 않도록 키 누르기 이벤트를 3 초 동안 비활성화하십시오. 사용자가 유휴임을 표시하는 것보다 키를 누르지 않으면 3 초 동안 다시 기다립니다. 이것들은 지금까지의 코드입니다.
index.html을이 :
var typing;
typing = $('#m').on('keypress',function(){
$('#m').unbind('keypress');
var timeout;
timeout = setTimeout(function() {
socket.emit('typing', 'user is typing');
setTimeout(function(){
socket.emit('typing', 'idle');
}, 3000);
}, 3000);
$('#m').bind('keypress');
});
그것은 사용자가 3 초 후에을 입력하고 사용자가 유휴 것을 다시 후 삼초 쇼 보여 않습니다. 그러나 아무 키나 누르면이 더 이상 입력되지 않는다는 메시지가 에 표시되지 않습니다. 이 문제를 해결할 수 있다면 정말 감사 할 것입니다. 고맙습니다.
'$ ('#의 m') 바인드 ('키 누름이') '이 핸들러 함수 – charlietfl