我有一個輸入文本框,它通過AJAX使用這個Autocompleter Plugin爲Mootools自動填充。更好的替代'keyup'事件
我目前使用'鍵入'事件來通過AJAX獲取結果。 它的工作原理,但我覺得最好的是它有點笨重,因爲每個鍵盤按下結果成爲一個AJAX請求。
我寧願只做ONE一旦用戶輸入完成後,AJAX請求就像用戶暫停一下之後一樣。
我已經試過「變化」事件,但它是糟糕的是,我不得不從輸入文本框點擊即可只是爲了讓AJAX請求,然後再次單擊文本框中輸入剛纔有' onComplete'火了。
這裏是我的代碼:
input.addEvent('keyup', function(e) {
new Autocompleter.Request.JSON(input.getProperty('id'), url, {
'postVar': 'search',
'maxChoices': 6,
'overflow': false,
'selectMode': 'pick',
'delay': 100,
'forceSelect': false,
onRequest: function() {
// do nothing
},
onComplete: function() {
// do nothing
}
});
});
我希望你們在這裏明白我的問題。
謝謝!
@sergio說的是正確的做法。去抖動 - 也可以將關鍵字查找緩存作爲一個小散列圖引入,從而避免重複調用已查詢的字符串。 –