jQuery ContextMenu не отображается полностью, если элемент находится внизу страницы - PullRequest
4 голосов
/ 01 ноября 2011

Хорошо, я полагаю, что сюжетная линия объясняет большую часть этого, и все же я уточню немного больше. Хорошо, вот сценарий,

У меня есть дерево элементов (имена элементов получены из базы данных, поэтому они могут быть от 0 до 1000), каждый созданный элемент имеет функциональность contextMenu (т. Е. Вы можете щелкнуть по ним правой кнопкой мыши, чтобы просмотреть contextMenu с помощью 4 -5 действий). Теперь, кажется, работает нормально, если я прокручиваю страницу вверх и вниз, но на некоторых страницах нет полос прокрутки (согласно требованию проекта), поэтому, если я нажму на самый нижний элемент, чтобы просмотреть список действий в contextMenu, все, что я вижу, - это половина contextMenu, а оставшаяся половина выходит за границы окна браузера (см. изображение ниже),

enter image description here

У меня вопрос, есть ли способ переместить положение contextMenu, чтобы оно всегда оставалось в пределах окна браузера. Ждем ваших ответов и справки,

С уважением,

rac3B3nn0n

Ответы [ 2 ]

3 голосов
/ 12 ноября 2012

У меня была такая же проблема для очень большого контекстного меню (> 50 элементов). Я решил это следующим образом:

<style type="text/css">
  .limit-context-size { max-height: 300px; overflow-y: scroll; }
</style>
...
$.contextMenu({
...
  className: "limit-context-size",
...
});

Это заставляет меню прокручиваться вертикально. Размер 300 пикселей был выбран на основе размера шрифта контекстного меню.

0 голосов
/ 02 ноября 2011

Спасибо всем, ну, я понял это.На самом деле это была моя собственная ошибка, чтобы исправить ошибку положения для IE6, я немного изменил код внутри jquery.contextMenu.js, переопределив, что по-другому просто работает для меня.

Спасибо всем за помощь и старания

С уважением, rac3B3nn0n

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