zoukankan      html  css  js  c++  java
  • 今天突发偶兴,写了一个plugin 用作右击出现菜单栏

    1.写extjs plugin插件关键是知道它的的父块是谁,在插件里this.cmp就能获取载入的父级容器

    2.插件init()是继承于observable ,这个方法必不可少,执行于initComponent()之后,可以在此处注册父级容器的事件句柄

    以达到关联的作用。木想到插件还是挺容易写的.

    Ext.define("Ext.ux.ContextMenu",{
        extend:"Ext.AbstractPlugin"
        ,alias:"plugin.contextMenu"
        ,mixins:["Ext.util.Observable"]
        ,owner:""
        ,menu:""
        ,config:{ }
        ,constructor:function(config){
              var me=this;
              Ext.apply(this.config,config);
              me.callParent([config]);
        }
        ,init:function(){
            var me=this;
            me.owner=me.cmp.itemView;
            me.menu=me.getMenu();
            me.owner.on("itemcontextmenu",me.doMenu,me);
        }
        ,getMenu:function(){
            var me=this;
            return Ext.create("Ext.menu.Menu",{
                50
                ,bodyCls:"baseColor"
                ,plain:false
                ,items:[{
                    text:"delete"
                    ,handler:function(){
                        alert("hi");
                    }
                }
                ,{
                    text:"上移"
                }
                ,{
                    text:"下移"
                }]
            });
        }
        ,doMenu:function(owner,record,item,index,e,eOpsts){
            var me=this;
            e.preventDefault();
            me.menu.showAt(e.xy,true);

        }
    });

  • 相关阅读:
    正则表达式
    特殊符号作用
    sed
    scp
    EOF
    env
    JAVA进阶5
    JAVA进阶4
    JAVA进阶3
    JAVA进阶2
  • 原文地址:https://www.cnblogs.com/shen119/p/3289166.html
Copyright © 2011-2022 走看看