林海學(xué)苑

          java學(xué)習(xí)交流

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            12 隨筆 :: 0 文章 :: 1 評論 :: 0 Trackbacks
          網(wǎng)上看到很多人不知道怎么在js代碼的樹上加右鍵菜單。我有實現(xiàn)的代碼如下

          但我就是不知道怎么灰掉不該出現(xiàn)的時候,如在非子節(jié)點時,不能用“增加到收藏夾”功能

          Ext.ux.AddToFavoritesMenu = function(config) {
              Ext.ux.AddToFavoritesMenu.superclass.constructor.call(this, config);
          };
          Ext.extend(Ext.ux.AddToFavoritesMenu, Ext.menu.Menu, {
              tree : "",
              items : [{
                  id : 'addToFavorite',
                  text : '增加到收藏夾',
                  enabled: this.leaf,
                  handler : function(item) {
                      var n = item.parentMenu.contextNode;
                      if(!n || !n.attributes.leaf){
                          msg("只能增加子節(jié)點到收藏夾!");
                          return;
                      }
                      var favoriteRpc = new Wsms.bs.Favorite();
                      var a = n.attributes;
                      var favorite = {};
                      favorite.path = n.getPath();
                      favorite.name = a.text;
                      favorite.href = a.href;
                      favorite.cls = a.cls;
                      favoriteRpc.addNew(favorite);
                  }
              }, {
                  id : 'openUrl',
                  text : '打開',
                  handler : function(item) {
                      var n = item.parentMenu.contextNode;
                      n.fireEvent("click", n);
                  }
              }]
          });

          MenuPanel = function() {
              MenuPanel.superclass.constructor.call(this, {
                  id:'menu-tree',
                  split:true,
                  width: 280,
                  border :false,
                  minSize: 175,
                  maxSize: 500,
                  collapsible: true,
                  margins:'0 0 3 3',
                  cmargins:'0 0 0 0',
                  rootVisible:false,
                  // 節(jié)點之間連接的橫豎線
                  lines:true,
                  autoScroll:true,
                  animCollapse:false,
                  animate: false,
                  collapseMode:'mini',
                  loader: new Ext.tree.TreeLoader({
                      preloadChildren: true,
                      clearOnLoad: true
                  }),
                  contextMenu : new Ext.ux.AddToFavoritesMenu(),
                  listeners : {
                      contextmenu : function(node, e) {
                          node.select();
                          var c = node.getOwnerTree().contextMenu;
                          c.leaf = node.attributes.leaf;
                          c.contextNode = node;
                          c.showAt(e.getXY());
                      }
                  },
                  root: new Ext.tree.AsyncTreeNode({
                      text:'根',
                      id:'root',
                      expanded:true,
                      children:Docs.classData
                   }),
                  collapseFirst:false
              });
              // no longer needed!
              //new Ext.tree.TreeSorter(this, {folderSort:true,leafAttr:'isClass'});

              this.getSelectionModel().on('beforeselect', function(sm, node){
                  return node.isLeaf();
              });
          };

          Ext.extend(MenuPanel, Ext.tree.TreePanel, {
          });

          posted on 2009-09-28 00:03 林海 閱讀(2158) 評論(1)  編輯  收藏 所屬分類: jsp

          評論

          # re: jsp代碼 樹上加右鍵菜單 2009-09-28 00:07 自己

          剛才查了一下,知道怎么禁用了
          加:
          if(!node.attributes.leaf){
          return false;
          }
          如下:

          listeners : {
          contextmenu : function(node, e) {
          if(!node.attributes.leaf){
          return false;
          }
          node.select();
          var c = node.getOwnerTree().contextMenu;
          c.leaf = node.attributes.leaf;
          c.contextNode = node;
          c.showAt(e.getXY());
          }
          },  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 奉节县| 桐柏县| 于都县| 延津县| 开江县| 新津县| 方山县| 定安县| 林周县| 汉沽区| 泰宁县| 思南县| 崇州市| 北流市| 犍为县| 马龙县| 晴隆县| 莱西市| 镇赉县| 巴里| 禹州市| 自贡市| 团风县| 柏乡县| 三台县| 红安县| 青龙| 湘潭市| 庆城县| 南部县| 高阳县| 永康市| 仁布县| 吉木萨尔县| 改则县| 喀什市| 容城县| 明星| 沭阳县| 泰安市| 勃利县|