При использовании jQuery contextMenu с пользовательскими активированными меню, как изменить положение меню? - PullRequest
2 голосов
/ 22 февраля 2012

Я использую jquery contextMenu для выпадающих меню. Я на самом деле не использую функциональность правой кнопкой. Вместо этого, когда я нажимаю на тег div, под этим тегом div появляется меню. Это много у меня работает. Вот демонстрационная страница, с которой я основал свой код: http://medialize.github.com/jQuery-contextMenu/demo/trigger-custom.html.

Что я хотел бы сделать, так это сместить позицию раскрывающегося меню относительно позиции по умолчанию. В приведенной выше демонстрации вы увидите один пример:

$('#activate-menu').on('click', function(e) {
    e.preventDefault();
    $('.context-menu-one').contextMenu({x: 100, y: 100}); 
})

Это не сработало для меня. Меню отображается в левом верхнем углу моего браузера, а не смещено относительно положения, в котором оно обычно отображается.

Спасибо за любую помощь!

Брет

1 Ответ

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

Я не знаком с этим плагином, но похоже, что параметры x и y относятся к документу (или, возможно, к элементу, идентифицированному селектором, документация кажется немного расплывчатым). Объект события , который вы получаете при клике, имеет свойства pageX и pageY, которые сообщают вам, где произошел щелчок относительно документа, поэтому просто добавьте к ним, например ::

$('.context-menu-one').contextMenu({
    x: e.pageX + 100,
    y: e.pageY + 100
});

Смещение на 100 пикселей может быть немного большим, но это принцип.

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