Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ?!Множественный вызов contextMenu!? (https://javascript.ru/forum/jquery/28385-mnozhestvennyjj-vyzov-contextmenu.html)

fen0man 17.05.2012 15:29

?!Множественный вызов contextMenu!?
 
Всем привет. Стоит задача наладить вызов контекстного меню при клике левой кнопкой на div в Grid. Сделал... но получилось так, что при клике на каждый div вызывается еще одно а предыдущее не закрывается. Мне судя по всему необходима проверка на вызов contextMenu...

Ниже приведено фото Глюка.
Если нужен какой либо код пишите я подсуну. =)

Подскажите с реализацией.
За ранее спасибо.

http://imglink.ru/show-image.php?id=...0c63be63adb77d

FINoM 17.05.2012 18:07

Нужен код.

fen0man 18.05.2012 13:48

~Продолжаем по ContextMenu~
 
1. Вот само меню
var errr ;
var menu2 = [ 
{
    'Отправить новое сообщение':{
        onclick:function(menuItem,menu) {
            var er = this.parentElement.children[1].title;
            var spl = er.split(' ');
            showSmsFormForContextMenu2();
            sendNumber();
            $('#dialog').dialog('open');
            $('#InputSmsPhoneNumber').val(spl[0]);
        }
    }
},

$.contextMenu.separator,
        
{
    'Повторить отправку':{
        onclick:function(menuItem,menu) { 
        }
    }
},

$.contextMenu.separator,
        
{
    'Удалить':{
        onclick:function(menuItem,menu) {
            var data = $('#table').getRowData(menu.row_id);
            delCookieById(data.id);
            $('#table').delRowData(menu.row_id);
        }
    }
},
//$.contextMenu.separator
];


2. Вот инициализация

$('#table tr#'+id_n+' td:last-child').contextMenu(menu2,{theme:'vista',bindOn:'left',row_id:data[i]});


3. Plugin Menu переписан на левый клик мыши через BindOn (но это в прочем не так важно)...

Если надо еще и код plugin_a пишите...

Насколько я понимаю - проверку нужно лепить на вызов инициализации)

Жду ваших предложений!

fen0man 22.05.2012 10:02

Разобрался сам)


Часовой пояс GMT +3, время: 06:09.