• EXTJS4扩展实例:一个调用Ext.picker.Color的颜色选择菜单


    运行环境:Extjs4.2.1

    运行效果:

    调用代码:

    Ext.require(['MyExtend.Form.Field.ColorField']);
    	
    
    	Ext.onReady(function()
    	{
    		
    	var combo = Ext.create('MyExtend.Form.Field.ColorField', {
    		renderTo: Ext.getBody()
    		
    	});
    

    源代码:

    Ext.define('MyExtend.Form.Field.ColorField', {
      extend: 'Ext.form.field.Trigger',
      alias: 'widget.colorfield',
      triggerTip: '请选择一个颜色',
      onTriggerClick: function() {
    
        var me = this;
        if (!me.picker) {
          me.picker = Ext.create('Ext.picker.Color', {
            pickerField: this,
            ownerCt: this,
            renderTo: Ext.getBody(),
            floating: true,
            //hidden: true,    
            focusOnShow: true,
            style: {
              backgroundColor: "#fff"
            },
            listeners: {
              scope: this,
              select: function(field, value, opts) {
    
                me.setValue('#' + value);
    
                me.inputEl.applyStyles({
                  backgroundColor: '#' + value
                });
                me.picker.hide();
              }
            }
          });
          me.picker.alignTo(me.inputEl, 'tl-bl?');
    
        }
        me.picker.show();
        var attached = me.attached || false;
        me.lastShow = new Date();
        if (!attached) {
          Ext.getDoc().on('mousedown', me.onMouseDown, me, {
            buffer: Ext.isIE9m ? 10 : undefined
          });
          me.attached = true;
        }
    
      },
      onMouseDown: function(e) {
    
        var lastShow = this.lastShow,
          doHide = true;
    
        if (Ext.Date.getElapsed(lastShow) > 50 && !e.getTarget('#' + this.picker.id)) {
          if (Ext.isIE9m && !Ext.getDoc().contains(e.target)) {
            doHide = false;
          }
          if (doHide) {
            this.picker.hide();
            Ext.getDoc().un('mousedown', this.onMouseDown, this);
            this.attached = false;
          }
        }
      }
    });
  • 相关阅读:
    JSP详细解析
    JSP详细解析
    JAVA设计模式之单例模式
    JAVA设计模式之单例模式
    SQLite – GLOB子句
    HEXO进阶打赏
    python常用模块
    猫头鹰的深夜翻译:核心JAVA并发一
    标准规范
    题解 P1951 【收费站_NOI导刊2009提高(2)】
  • 原文地址:https://www.cnblogs.com/zdkjob/p/3568398.html
Copyright © 2020-2023  润新知