Tuesday, May 29, 2018

Cách disable, enable cho 1 menu item của jquery Context Menu

Nếu sửa dụng context menu của trang http://swisnl.github.io/jQuery-contextMenu/ thì cách disable, enable 1 item trong menu sẽ làm như sau.

Trích từ https://stackoverflow.com/questions/12938805/enabling-jquery-contextmenu-item-on-ajax-request

I used build option to add new items, you can see that you can do with items here whatever you want: http://jsfiddle.net/oceog/Tvv4P/1/
HTML:
<div class="context-menu-one box menu-1">
    <strong>right click me</strong>
</div>

<button id="add"> Add item</button>
<button id="disable_cut"> Disable cut</button>
<button id="enable_cut"> enable cut</button>
JS:
$.contextMenu({
    selector: '.context-menu-one',
    build: function($trigger, e) {
        console.log(e);
        return {
            callback: function(key, options) {
                var m = "clicked: " + key;
                console.log(m);
                //window.console && console.log(m) || alert(m); 
            },
            items: items
        };
    }
});
var items = {
    "edit": {
        name: "Edit",
        icon: "edit"
    },
    "cut": {
        name: "Cut",
        icon: "cut"
    },
    "copy": {
        name: "Copy",
        icon: "copy"
    },
    "paste": {
        name: "Paste",
        icon: "paste"
    },
    "delete": {
        name: "Delete",
        icon: "delete"
    },
    "sep1": "---------",
    "quit": {
        name: "Quit",
        icon: "quit"
    }};
var newitemN=0;
$('#add').click(function() {
            var newitem={};
        newitem['newitem_'+newitemN]={
            name: 'new item #'+newitemN,
            icon: "copy"
        };
   newitemN++;
   $.extend(items,newitem);
});

$('#disable_cut').click(function() {
    items.cut.disabled=true;
});

$('#enable_cut').click(function() {
    items.cut.disabled=false;
});

No comments: