jQuery контекстное меню по левой кнопке - PullRequest
2 голосов
/ 18 января 2011

Я использую плагин контекстного меню jQuery Криса Домигана для применения контекстного меню. Вот как это работает:

$('#contacts tbody tr').contextMenu('myMenu1', {
    bindings: {
        'copy': function(t) {
             alert('Trigger was '+t.id+'\nAction was Copy');
         },

        'delete': function(t) {
             alert('Trigger was '+t.id+'\nAction was Delete');
        }
    },             
});

Теперь я хочу, чтобы это контекстное меню отображалось слева, а не справа. Не могу найти вариант в док. Есть идеи как это сделать? Нужно ли изменять источник?

Ответы [ 5 ]

10 голосов
/ 21 ноября 2011

Я знаю, что он старый, но я все равно отвечу;)

Если вы хотите вызвать ContextMenu при щелчке левой кнопкой мыши, просто измените строку:

$(this).bind('contextmenu', function(e) {

в это:

$(this).bind('click', function(e) {

Но если вы хотите захватить больше событий для отображения ContextMenu, вы можете добавить имена событий после пробела в соответствии со ссылкой jQuery .bind ().

Например, если вы хотите отобразить меню на , щелкните левой и правой кнопкой мыши , просто измените строку на эту:

$(this).bind('contextmenu click', function(e) {
3 голосов
/ 18 января 2011

Похоже, вам нужно изменить код.Вам нужно изменить эту строку:

 $(this).bind('contextmenu', function(e) {

на эту

 $(this).bind('click', function(e) {
2 голосов
/ 18 января 2011

Как заголовок в источнике

ContextMenu - плагин jQuery для щелчок правой кнопкой мыши контекстное меню

Также в документе нет информациио том, как изменить вид клика.Я думаю, что единственное, что вы можете сделать, это расширить этот код, чтобы он работал и с базовой функцией click ();)

1 голос
/ 23 декабря 2013

я знаю, что мне уже слишком поздно говорить это.

новый плагин contextjs, использующий 'on' вместо bind, потому что 'on' может определять селектор следующим образом:

$(document)on('contextmenu','selector',function(e){

Я использую это для определения моего «левого» или «правого»:

if(type === 'right'){
    $(document).on('contextmenu', selector, function (e) {
    ....}
else{
    $(document).on('click', selector, function (e) {
    ....}
1 голос
/ 03 февраля 2011

Мэтью Манела, спасибо за ваш фрагмент (потратил часы на этом этапе)

Кроме того, в моем проекте я хочу поддерживать как правый, так и левый щелчок. (Может кому-то это понадобится) Для этого вы измените свой код на:

$(this).bind('click contextmenu', function(e) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...