我想要在您輸入文本框時立即搜索電子表格的Google Apps腳本web應用程序。使用TextBox和onKeyUp和onKeyDown進行即時搜索
我現在使用的實現方法如下:對於每個鍵盤事件,新搜索與當前搜索字符串一起使用,我在onKeyUp調用的函數上使用延遲,如果調用onKeyDown,我嘗試殺死以前的函數調用,只是去與新的。這有效的工作,但搜索需要不同的時間來完成,所以最後一個完成並不是全是正確的。
我不知道如何解決這個任務在Google Apps腳本中,這可以使用類似的方式實現,但這些功能並不令人滿意:
var timer;
function up(){
setTimeout(mySpreadsheetSearchFunction, 500);
}
function down(){
clearTimeout (timer);
}
這是一個不能正常工作目前執行的代碼:
function up(){
var cache = CacheService.getPrivateCache();
var now = parseInt(cache.get('iterate'));
Utilities.sleep(500);
if(parseInt(cache.get('iterate')) !== parseInt(now)){
return;
}else{
search();
}
showInGui();
}
function down(){
var cache = CacheService.getPrivateCache();
cache.put('iterate', 1+parseInt(cache.get('iterate')));
}
的CacheService可能是錯誤的工具,這項工作,這可能是尤爲明顯?這是實施這樣的事情的正確方法嗎?