因为项目需求,今天特意翻看Ext.QuickTip的源代码:
特意上两段代码:
代码1:
// private
initComponent : function(){
// 注意this.target
this.target = this.target || Ext.getDoc();
this.targets = this.targets || {};
Ext.QuickTip.superclass.initComponent.call(this);
},
// 注意this.target 的赋值
代码2:
// private
onTargetOver : function(e){
if(this.disabled){
return;
}
this.targetXY = e.getXY();
var t = e.getTarget();
if(!t || t.nodeType !== 1 || t == document || t == document.body){
return;
}
if(this.activeTarget && t == this.activeTarget.el){
this.clearTimer('hide');
this.show();
return;
}
if(t && this.targets[t.id]){
this.activeTarget = this.targets[t.id];
this.activeTarget.el = t;
this.delayShow();
return;
}
var ttp, et = Ext.fly(t), cfg = this.tagConfig;
var ns = cfg.namespace;
....
}
代码1很明确地告诉我们,如果不特定指定target的话,Extjs会默认将Document作为Target,会监听Document发出的mousemove事件
代码1也很明确地告诉我们,如果我们的Javascript中有Ext.QuickTips.init();这一句,那么只要我们在页面随意划一下鼠标,onTargetOver 事件肯定执行很多遍。
天啊,使用Extjs 的朋友们:Ext.QuickTips.init();这种很普遍的使用方式,就变得很恐怖了。只要我们一动鼠标,CPU就会拼命计算,瞬间暴涨。
为什么觉得ExtJS慢,答案就在这。
为了验证想法,我测试一下,CPU瞬间彪起来。
对于Tooltip还是自己改写好吧!
- 大小: 101.9 KB
分享到:
相关推荐
Ext.QuickTips.init(); ``` 调用 `init` 方法初始化提示工具,这使得可以在任何地方添加提示信息。 ### 2. Ajax 请求处理 #### 2.1 发送Ajax请求 使用 `Ext.Ajax.request` 方法可以轻松发送Ajax请求,并处理服务器...
- **表单初始化**: `Ext.QuickTips.init();` 启用了快速提示功能。 - **表单配置**: - `labelWidth`: 定义了表单标签的宽度。 - `baseCls`: 设置了基本的CSS类名。 - `defaults` 和 `defaultType`: 分别设置了...
这是通过调用`Ext.QuickTips.init()`实现的。这行代码告诉ExtJS解析页面上的`ext:qtip`属性,并为相应的元素设置提示功能。 这样,当用户将鼠标悬停在含有`ext:qtip`属性的元素上时,就会弹出一个带有标题和内容的...
`Ext.QuickTips.init()`是初始化快速提示功能的,这个功能可以为表单中的元件提供提示信息。在表单验证中,这些提示信息通常用来显示客户端验证的错误信息。 `Ext.form.Field.prototype.msgTarget = 'under';`这行...
- **Ext.QuickTips.init()**:初始化快速提示功能。 - **CheckboxSelectionModel**:创建一个复选框选择模型,允许用户多选行。 - **ColumnModel**:定义 Grid 的列模型,其中包括行号、选择复选框以及两列数据(`id...
2. **Ext.QuickTips.init()**:初始化快速提示功能,当鼠标悬停在表格元素上时,可以显示预设的提示信息。 3. **formatDate**:这是一个自定义的日期格式化函数,用于将日期对象转换为指定格式的字符串,例如'Y年m...
EXTJS 是一个流行的JavaScript框架,用于构建富...在EXTJS开发中,理解和熟练运用`xtype`、`Ext.QuickTips.init()`以及`vtype`能够帮助我们更高效地构建用户界面,提供更好的用户体验,同时确保数据的准确性和安全性。
Ext.QuickTips.init(); var field0 = new Ext.form.TextField({ fieldLabel: '名字', allowBlank: false, width: 500, emptyText: '请输入', maxLength: 10, minLength: 2 }); var field1 = new Ext.form....
Ext.QuickTips.init(); // 创建日期选择菜单 var dateMenu = new Ext.menu.DateMenu({ handler: function(dp, date) { Ext.MessageBox.alert('日期选择', '选择日期为: ' + date.format('Y/m/d'), ''); } }...
Ext.QuickTips.init(); Ext.util.Format.defaultDateFormat = 'Y-m-d'; // 引用中文语言包 Ext.lang.Language.load('path/to/ext-lang-zh_CN.js'); // 然后初始化你的EXT JS应用 }); ``` 综上所述,EXT JS ...
Ext.QuickTips.init(); // turn on validation errors beside the field globally //Ext.form.Field.prototype.msgTarget = 'side'; var bd = Ext.getBody(); /* * ================ Form 5 ==============...
调用`Ext.QuickTips.init();`可以初始化快速提示系统,之后就可以在页面上添加带有`ext:qtip`属性的元素,以显示工具提示。 #### 控件状态属性 - `disabled`: 设置控件是否禁用。 - `hidden`: 设置控件是否隐藏。 ...
在示例中,`Ext.QuickTips.init()`初始化了快速提示功能,这样表单字段就能显示验证提示。`Ext.form.Field.prototype.msgTarget="side"`设置提示信息显示的位置,这里选择在字段旁边显示,`msgTarget`可以是`"side"`...
Ext.QuickTips.init(); ``` ### 四、总结 通过对Ext控件的深入了解,我们不仅掌握了创建基本控件的方法,还学会了如何使用更高级的功能来增强用户体验。Ext JS 的强大之处在于它能够帮助开发者快速构建复杂的Web...
Ext.QuickTips.init(); // 启用提示信息支持 ``` 接下来,设置所有表单字段的提示信息显示方式,默认使用“qtip”方式: ```javascript Ext.form.Field.prototype.msgTarget = "qtip"; ``` 这里,“qtip”表示使用...
一 首先请看图片 二 登陆界面Ext代码 代码如下: /// ”http:////www.jb51.net/Resources/ExtJs/vswd-ext_2.0.2.js”> //加载提示框 Ext.QuickTips.init(); //创建命名空间 Ext.namespace(‘XQH.ExtJs.Frame’); //...
代码如下:Ext.onReady(function(){ Ext.QuickTips.init();});ExtJS的Regex的验证属性分两种情况,一种是只有红色提示框;另一种是在提示框边会出现一个类似批注的提示信息,不过在页面加载时要加上Ext.QuickTips....