611
צפיות
צפיות
2
תשובות
תשובות
onKeyUp ו-ajax
שלום,
אני מפעיל פונ' באירוע של onKeyUp, בפונ' עצמה עשיתי השהייה לפעולה שאני רוצה לעשות באמצעות setTimeout – הפעולה היא פנייה לשרת ושליפת נתונים (ajax).
האם בכל פעם שאני מקליד אות נוספת, יש שוב פעם השהייה ופנייה לשרת, או שהsetTimeout מתאפס בכל אות נוספת שאני כותב?
במידה וכן יש השהייה, איך אני יכול למעט בפניות לשרת?
תודה
2 תשובות
אתה צריך לסגור את ה-timer שפתחת…
בעזרת clearTimeout:
function doX(){ … }
var timer = setTimeout(doX, 500);
clearTimeout(timer);
זה לא מתחדש
אתה צריך לכלול בתחילת הפונקציה של הonKeyUp את ביטול הקריאה הראשונה.
אתה יכול לעשות את זה כך:
someName = setTimeout(FunctionName, interval)
וכאשר היוזר לוחץ שוב פעם על מקש
clearTimeout(someName)
אבל במקום זה, אם את ה מנסה לבדוק תאימות מול המסד נתונים, אולי תחכה פשוט שהיוזר ייצא מתוך השדה, ואז תפעיל אז זה פשוט ב-onBlur .
בהצלחה