Ext.util.DelayedTask很好用

Ext3.x有个这个类Ext.util.DelayedTask,
实现好简单。。做个定时器,如果还没执行又被触发就取消上一个定时器。。
应用场景在于想要延迟搜索,触发了keyup事件,但如果连续输入了N个字母,可不希望过滤N次,只需要过滤一次就够了。
可以在new的时候指定scope

var task = new Ext.util.DelayedTask(function(){
    alert(Ext.getDom('myInputField').value.length);
});


Ext.get('myInputField').on('keypress', function(){
    task.delay(500); 
});
updatedupdated2024-11-302024-11-30