Jquery ContextMenu - PullRequest
       2

Jquery ContextMenu

1 голос
/ 01 февраля 2012

У меня есть страница, где есть div, которые имеют 2 типа (маршрутизатор и коммутатор), дифференцированные по атрибуту 'type'.Я хочу иметь разные меню, когда я щелкаю их правой кнопкой мыши.Итак, что я сделал, это получил все div с типом router, используя селектор jquery, и перебрал их, чтобы связать контекстное меню.Проблема, с которой я сталкиваюсь, заключается в том, что когда я щелкаю правой кнопкой мыши по пункту меню, который, в свою очередь, вызывает модальное диалоговое окно jquery для этого идентификатора div, теперь, если я вызываю то же самое меню в другом div, то диалоговое окно также вызывается для первого идентификатора div.Код:

function createMenu() {
    var divList = $("div[type^='Router']");
    for ( var i = 0; i < divList.length; i++) {
        // alert(divList[i].id);
        $("#" + divList[i].id).contextMenu({
            menu : 'routerMenu'
        }, function(action, el, pos) {
            var name = $(el).attr('name');
            if(action == 'dialog') {
                            alert(name);
                invokeDialog(name,'Router');
            }
        });
    }
    var divList = $("div[type^='Switch']");
    for ( var i = 0; i < divList.length; i++) {
        // alert(divList[i].id);
        $("#" + divList[i].id).contextMenu({
            menu : 'switchMenu'
        }, function(action, el, pos) {
            var name = $(el).attr('name');
            if(action == 'dialog') {
                            alert(name);
                invokeDialog(name,'Switch');
            }
        });
        }
}

Например, есть два div одного типа «Маршрутизатор» с идентификаторами id1 и id2.Сначала я нажимаю на id1, я получаю предупреждение с именем id1.Затем я нажимаю на id2, я получаю предупреждение id1, а затем id2.Кто-нибудь знает, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...