`
daniel514
  • 浏览: 1977 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

慎用Ext.QuickTip和Ext.QuickTips

阅读更多
因为项目需求,今天特意翻看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可编辑表格

    Ext.QuickTips.init(); //格式化日期 function formatDate(value) { return value ? value.dateFormat('Y年m月d日') : ''; } // 别名 var fm = Ext.form; //构造一个只能包含checkbox的列 var ...

    用tip解决Ext列宽度不够的问题

    渲染的函数写成如下: function renderHallName(value, meta, rec, rowIdx, colIdx, ds){ return ‘<div ext:... } 顶部需要加入Ext.QuickTips.init(); qtitle代表tip的标题, qtip代表内容。这时鼠标划过就会出现提示!

    ext-2.3.0+CKEditor 3.0.1+ckfinder_asp_1.4配置详解及工程源码

    Ext.QuickTips.init(); // turn on validation errors beside the field globally //Ext.form.Field.prototype.msgTarget = 'side'; var bd = Ext.getBody(); /* * ================ Form 5 ==============...

    Ext 表单布局实例代码

    代码如下:Ext.onReady(function(){ Ext.QuickTips.init(); //第一句的目的是为需要的元件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息了。 Ext.form.Field.prototype.msgTarget = ‘under’; //第...

    ExtJs中简单的登录界面制作方法

    一 首先请看图片 二 登陆界面Ext代码 代码如下: /// ”http:////www.jb51.net/Resources/ExtJs/vswd-ext_2.0.2.js”> //加载提示框 Ext.QuickTips.init(); //创建命名空间 Ext.namespace(‘XQH.ExtJs.Frame’); //...

    ExtJS正则表达式使用说明

    代码如下:Ext.onReady(function(){ Ext.QuickTips.init();});ExtJS的Regex的验证属性分两种情况,一种是只有红色提示框;另一种是在提示框边会出现一个类似批注的提示信息,不过在页面加载时要加上Ext.QuickTips....

    extjs xtype

    有关于ext的xtype,Ext.QuickTips.init(),几种extjs的vtype默认支持的验证

    extjs中验证实例

    Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget="under"; var fset = new Ext.FormPanel({ title:"学习表单字段元素的字段集", width:600, height:400, frame:true, renderTo:"myForm", items:...

    ExtAspNet_v2.0beta4_only_examples

    产品名称: ExtAspNet ...-这应该是Extjs3.0的一个BUG,在IE6.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6的QuickTips。 -优化底层JavaScript。fixed

    复选框的且带右键菜单的树代码

    Ext.QuickTips.init(); Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); Ext.onReady(function(){ /************************** 联系人树形菜单**************************/ var ...

    Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享

    在 Extjs 开发中,我们需要屏蔽一些键盘按键,来避免用户在使用键盘... Ext.QuickTips.init(); Ext.getDoc().on("contextmenu", function(e){ e.stopEvent(); }); if(document.addEventListener){ document.addEv

    Extjs表单常见验证小结

    代码如下: //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息。 Ext.form.Field.prototype.msgTarget=’side’; //提示的方式,枚举值为...

    ExtJS树形结构.docx

    Ext QuickTips init ; Ext BLANK IMAGE URL "extjs resources images default s gif"; var mytree new Ext tree TreePanel { el : "container" animate : true title : "简单...

    QuickTips:AboutIT QuickTip类型视频的代码和其他学习资料的存储库

    快速提示 AboutIT QuickTip类型视频的代码和其他学习资料的存储库 影片清单 这是“快速提示”类别中所有视频的列表。 它们按时间倒序排列,因此此列表中的第一个视频将始终是最新的。

    Extjs4中Form的使用之本地hiddenfield

    代码如下: Ext.onReady(function(){ Ext.QuickTips.init(); Ext.create(“Ext.form.Panel”,{ title:’本地hiddenfield实例’, renderTo:’formDemo’, bodyPadding:’5 5 5 5′, height:100, width:270, frame:true...

    ExtJS4的文本框(textField)使用正则表达式进行验证(Regex)的方法

    另一种是在提示框边会出现一个类似批注的提示信息,不过在页面加载时要加上Ext.QuickTips.init();提示框才能正常显示出来。 特别提示:在属性regex后要用 /^ 这里加正则 $/ 把上面的正则表达式包起来否则会报”缺少...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome ...

    ExtAspNet_v2.3.2_dll

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox...

Global site tag (gtag.js) - Google Analytics