swisnl / jQuery-contextMenu

jQuery contextMenu plugin & polyfill
https://swisnl.github.io/jQuery-contextMenu/
MIT License
2.25k stars 744 forks source link

Jquery contextMenu title and function on submenu #695

Open lrente opened 4 years ago

lrente commented 4 years ago

I'm creting a jquery context menu, using https://swisnl.github.io/jQuery-contextMenu/ .

I've sucessfully done the creation part of the submenu. I had to use build, in order to have some data that is only available on runtime. This data appears on a submenu, and I need to have a title on each of those submenu items, as well as click funtion on each of them.

I cant seem to make it work, both the title and the function on those submenu items.

Here is my code:

$.contextMenu({
        selector: '.gridRelatorioCursorMorada',
        build: function ($triggerElement, e) {
            var coords = $triggerElement[0].attributes['data-coord'].nodeValue;
            var coordsArray = coords.split(',');
            return {
                callback: function (key) {
                    if (key === 'get') {
                        getdata();
                    }
                },
                items: {
                    get: {
                        name: "Get data"
                    },
                    see: {
                        name: "See data",
                        items: {
                            normal: { name: coords },
                            graus: { name: dd2dms(coordsArray[0], coordsArray[1]) },
                            siresp: { name: decimalToSIRESPCoordinates(coordsArray[0], coordsArray[1]) }
                        }

                    }
                }
            };
        }
    });

Since the events part of contextMenu doesnt work with build, I dont know what else to do. I've also added the following code:


$(document).on('contextmenu',  function () {
        $('.context-menu-submenu > ul > li').attr('title', 'tituro');
});

But it also doesnt work.

Can anyone tell me if this is possible, and if so, how?