DelayedTask对象主要用于实现输入缓冲的功能,在指定的时间间隔内,如果用户没有操作触发事件,就会自行实际触发函数。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ext.util.DelayedTask</title> <link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" /> <script type="text/javascript" src="../extjs/bootstrap.js"></script> <script type="text/javascript" src="../extjs/ext-lang-zh_CN.js"></script> <style type="text/css"> #numList span { width: 100px; height: 20px; display: block; } </style> <script type="text/javascript"> /** * DelayedTask对象主要用于输入缓冲的功能,在指定的时间间隔内,如果用户没有操作触发事件,就会执行触发函数。 * DelayedTask对象提供以下两个方法: * 1.cancel:取消最后的队列任务 * 2.delay:取消当前任务,开始一个新的任务 * * 下面通过一个示例来学习如何使用DeldayedTask对象 * (1)功能描述: * 如果在1秒内没有向输入框中输入任何数字,就会根据文本框中的数值把列表(有50个数字)中小于该数值的值过滤掉 */ Ext.onReady(function() { html = ""; for (var i=0; i < 50; i++) { html += "<span>" + Math.floor(Math.random() * 1000) + "</span>"; }; var el = Ext.getDom("numList"); el.innerHTML = html; //创建一个DelayedTask对象的实例 var task = new Ext.util.DelayedTask(function() { var els = Ext.getDom("numList").childNodes; var value = parseInt(Ext.getDom("input1").value); for (var i=els.length-1; i>=0; i--) { var v = parseInt(els[i].innerHTML); if(v < value) { els[i].style.display="none"; } else { els[i].style.display="block"; } }; }); //为输入框绑定keypress Ext.EventManager.on("input1", "keypress", function(e, el) { var key = e.getKey(); if(key < e.ZERO || key > e.NINE) { e.stopEvent(); } task.delay(1000); }); }); </script> </head> <body> <input id="input1" value="" /> <div id="numList"></div> </body> </html>
相关推荐
`EXT核心API详解(一) - Ext类.txt`介绍了Ext的基础类,包括`Ext.util.Observable`(观察者模式的实现)、`Ext.app.Application`(管理应用生命周期)等。理解这些类的用法对于构建可维护的应用至关重要。 4. **Ext...
以下是对EXTJS学习笔记的详细解释: 1. **环境配置**: 在EXTJS中,创建一个基本页面需要引入CSS样式表和JavaScript库。首先引入`extjs/resources/css/ext-all.css`以应用EXTJS的UI样式,接着引入`extjs/adapter/...
### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...
4. **Ext.util.Observable**: `Ext.util.Observable` 是一个抽象基类,提供了事件发布和订阅的机制。任何需要事件功能的类都可以继承它。通过 `addEvents` 方法,可以声明类支持的事件类型。`fireEvent` 方法用来...
至于事件基础,ExtJS中的事件处理主要依赖于`Ext.util.Observable`类。这个类提供了一套事件管理和监听的接口,包括`addEvents`(注册事件)、`addListener`(添加事件监听器)和`fireEvent`(触发事件)等。`...