이것은 정말 기본적인 자바 스크립트 질문이며 아마도 중복되지만 답변을 모릅니다!jQuery/JavaScript : 인터럽트 이벤트?
function userlist_change(myval, function_type) {
// relatively slow code involving Ajax call
// based on Ajax results, change some client-side stuff
}
$("#subjectlist").change(function() {
userlist_change($("#subjectlist").val(), 'change');
}).change();
$("#subjectlist").keypress(function() {
userlist_change($("#subjectlist").val(), 'keypress');
});
나는 .change()
이벤트가 호출 될 경우 userlist_change
기능이 개막하는 문제가 있고, 비교적 느린 다음과 같이
나는 코드가 있습니다. 사용자가 목록을 다시 변경하면 (예 : 입력) 코드에서 userlist_change
이 완료 될 때까지 기다렸다가 새 값으로 다시 시작합니다.
클라이언트 측을 변경하는 데 몇 초가 걸릴 수 있으므로 UI에서 상당히 이상하게 보입니다. 사용자가 이미 두 번째 전화를 건 후에 만 첫 번째 전화의 결과가 나타나는 경우가 있습니다.
.change()
또는 'keypress()'이벤트가 실행될 때 기존의 userlist_change
프로세스를 방해 할 수있는 방법이 있습니까?
[편집] 이상적이라고 할 수있는 것은 '이 이름으로 실행중인 모든 기능을 죽이는'명령입니다. 이것이 가능합니까? 아니면 정말로 타이머를 가지고 주위를 둘러 봐야합니까?