2016-12-12 12 views
0

私のプロジェクトにjquery-contextmenuを使用しています。私はいくつかのセパレータ(sep1、sep2 ...など)が私は動的に非表示にする必要があります作成された次のメニューがあります。どのように私はそれにアプローチするのですか?問題は、いくつかの項目を動的に非表示にしてセパレータが表示されてしまうことです。"sep1"項目をjquery-contextmenuメニューから動的に削除しようとしています。私はそれにどのようにアプローチするのですか?

$.contextMenu({ 
    selector: '#ItemSelector', 
    callback: function (key, options) { 
     var m = "clicked: " + key; 
     window.console && console.log(m) || alert(m); 

     //handle event once right click is pressed on any option. 

    }, 
    events: { 
     show: function (options) { 
      //some code 
     } 
    }, 
    items: { 
     "menu_context_selection": { 
      name: "Start/Stop Selection", 
      icon: "fa-check-square-o", 
      visible: function (key, opt) { 
       return !true; 
      } 
     }, 
     "menu_context_open": { 
      name: "Open", 
      icon: "fa-folder-open-o", 
      visible: function (key, opt) { 
       return true; 
      } 

     }, 
     "sep1": "---------", 
     "menu_context_rename": { 
      name: "Rename", 
      icon: "fa-keyboard-o", 
      visible: function (key, opt) { 
       return !true; 
      } 
     }, 
     "menu_context_delete": { 
      name: "Delete", 
      icon: "fa-recycle", 
      visible: function (key, opt) { 
       return !true; 
      } 
     }, 
     "sep2": "---------", 
     "menu_context_newfolder": { 
      name: "New Folder", 
      icon: "fa-folder-o", 
      visible: function (key, opt) { 
       return !true; 
      } 
     }, 
     "sep3": "---------", 
     "menu_context_copy": { 
      name: "Copy", 
      icon: "fa-files-o", 
      visible: function (key, opt) { 
       return !true; 
      } 
     } 
    } 
}); 
+0

にvisibleプロパティを設定してオブジェクトを返しますか? – Bindrid

+0

のいずれかを使用するか、項目を使用してみてください:function(){あなたに見せたい項目のリスト} – Bindrid

+0

どちらか一方を隠したいですか?上か下か? – BenG

答えて

0

はちょうどあなたが、セパレータにアイテムを使用し目に見える機能を付加しようとしている偽

"sep1": true ? "---------" : {visible: false} 
関連する問題