텍스트 입력란에 입력 된 키 입력을 1 초 간격으로 보내고 싶습니다.1 초 후에 ajax로 키 입력을 보냅니 까?
이것은 각 키 누르기에서 ajax 요청을 보내는 부하를 줄이기위한 것입니다.
예. 사용자가 초 안에 4 개의 문자를 입력하면 요청은이 4 개의 문자를 모두 보냅니다. 그가 1 분 안에 논스톱을 타자 고 말하면, 스크립트는 타이핑을 멈출 때까지 1 초 간격으로 보낼 것입니다.
$("#type_post").live('keyup', function() {
$.post('posts.php', {post: $("#type_post").val()});
});
을하지만 모든 키 누르기에 보냅니다 순간
내 스크립트는 다음과 같습니다.
사람이 여기
UPDATE 나를 도울 수 있습니다 : 여기 내가 사용하는 코드입니다.
var last_post = '';
$('#type_post').focus(function() {
// check if text has been changed every second when input field is focused
setInterval(function() {
if($('#type_post').val() != last_post)
{
// if changed, post it and set the new text as last text
$.post('posts.php', {post: $("#type_post").val()});
last_post = $("#type_post").val();
}
}, 1000);
});
하지만, 최고의 솔루션과 같은 나던 소리 도움이되지 않습니다 단지의 키에이를 활성화하는 또 다른 방법이있을 – ajsie
'제목 없음 : jspcal은 당신을위한 솔루션을 가지고 있습니다. 당신은 keypress에서도이를 활성화 할 수 있지만, jspcal의 접근 방식에서 타이머를 멈출 시간 (* 예)을 알아 내야합니다. 시간을 비교하고 업데이트를 수행하기 만하면됩니다. 아마도 그의 솔루션은 더 좋습니다. –
또한 동적 바인딩 방법을 사용하지 않습니다. 동적으로 해당 기능을 사용하여 새 필드 상자를 만들지 않는 한 .bind ('keyup', ...)를 대신 사용하십시오. –