powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
19 сообщений из 19, страница 1 из 1
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34438542
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Я думаю, такое все делали. Задача классическая. На странице есть таблица записей из базы. В ней хочу реализовать popup-меню с пунктами "Добавить", "Изменить", "Удалить" по правой кнопке мыши.
Первое, что пришло на ум - это создать слой через div
Код: plaintext
1.
2.
3.
4.
5.
<div id="pmenu"  class ="menu" style="top: 0; left: 0; width: 200; background: orange; visibility: hidden">
<p>ссылка на Добавить<br>
ссылка на Изменить<br>
ссылка на Удалить</p>
</div>
   
А через метод "onclick" динамически показывать или скрывать этот слой по координатам указателя мыши.

Но не тут то было. Onclick отлавливает только левую кнопку мыши, по правой всплывает меню обозревателя. А как вычислить координаты мыши, и более того, номер записи в таблице, по которой был щелчок, я не знаю.

Помогите, плиз, решить задачу. Или дайте ссылку на информацию.

И еще вопрос. Можно ли показать данные не с помощью <TABLE>, а с помощью обычного листбокса <SELECT>, и уже там реализовать всплывающее меню. Я попробовал SELECT, но он позволяет выводить только один столбец информации.

Спасибо.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34438610
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем тебе по правой кнопке, добавлене и можно вынести в тулбар, а изменение - можно сделать ссылку в каждой строчке...
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34439500
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я так и делал раньше. Но хочу реализовать так, как это выглядит в виндовых приложениях - есть кнопки в тулбаре, а также popup по правой кнопке мыши в списке данных. Недавно видел одно web-приложение, где как раз так это было выполнено. Значит возможно. Только данные там выводятся в листбокс, а не с помощью <TABLE>. Интерфейс выглядит как обычное виндовое приложение - есть главное меню, тулбар, список с данными, а в списке по правой кнопке вызывается popup.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34439818
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно использовать событие oncontextmenu :
Код: plaintext
1.
<p oncontextmenu="showcontextmenu(); return false;">bla bla bla</p>

return false здесь нужно для того, чтобы отменить показ контекстного меню браузера.

Координаты курсора мыши можно получить, используя свойства offsetX и offsetY объекта event :

Код: plaintext
1.
<p oncontextmenu="alert(window.event.offsetX + ', ' + window.event.offsetY); return false;">bla bla bla</p>
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34440166
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. А к какому тегу применить событие oncontextmenu ? Для TABLE и TR не получается.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34440355
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего, Вы пробовали на пустой таблице. Единственная проблема, что координаты выдаются относительно ячейки внутри таблицы, а не всей таблицы. Посему, предлагаю использовать либо ID ячейки, либо текст внутри ячейки:
Код: plaintext
1.
2.
3.
4.
<table border= 1  oncontextmenu="alert(window.event.srcElement.id + ', '
+ window.event.srcElement.outerText); return false;">
<tr><td id="a">ячейка A<td id="b">ячейка B<td id="c">ячейка C
</table>
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34440368
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, в FireFox'е это не работает, как в Опере - не знаю.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34440729
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил. В Опере тоже не работает. Хоть и в IE работает, все равно не подойдет. Но идея хорошая. Я уже реализовал код вызова popup-меню. Все работает, но по левой кнопке мыши (onclick). Остается только узнать, как навесить это все дело на правую кнопку мыши.
Кстати, а у правой кнопки мыши нет своего keycode? Тогда бы можно было обработать события onkeypress, onkeyup. Хотя контекстное меню браузера все равно, наверно, не отменишь.

А может у SELECT(листбокс) есть особенные события? Я видел, что данные в приложении отображают через листбокс. Достаточно красиво получается. Там у него свой скролик, не надо страницу пролистывать. Сам попробовал, но не понял, как выводить в него несколько колонок.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34441048
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Semen PopovОстается только узнать, как навесить это все дело на правую кнопку мыши.
Кстати, а у правой кнопки мыши нет своего keycode? Тогда бы можно было обработать события onkeypress, onkeyup
Использовать свойство button объекта event. Для левой кнопки мыши оно равно 1, для правой: 2:
Код: plaintext
<table onmousedown="alert(window.event.button); return false;">
Опять же, работает только в IE.

Semen Popov
А может у SELECT(листбокс) есть особенные события? Я видел, что данные в приложении отображают через листбокс. Достаточно красиво получается. Там у него свой скролик, не надо страницу пролистывать. Сам попробовал, но не понял, как выводить в него несколько колонок.
Пример приложения увидеть бы...
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34442378
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValzoIDПример приложения увидеть бы...

Скриншотик приложил. Хотя это все равно больше на TABLE смахивает. Только не понимаю, тогда как они к таблице вертикальный и горизонтальный скролл привязали.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34442436
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может это div с таблицей внутри?
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34442735
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semen PopovТолько не понимаю, тогда как они к таблице вертикальный и горизонтальный скролл привязали.Эта тема уже баяном стала. См. несколькими постами ниже.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34442942
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЭта тема уже баяном стала. См. несколькими постами ниже.
Посмотрел. Теперь понятно. Спасибо за ссылку.
DamnedestА может это div с таблицей внутри?
Мне только что дали доступ к JSP-страницам этого приложения. Действительно, такой интерфейс - это результат сочетания div, iframe и стилей, а popup-меню действительно вызывается через oncontextmenu . Т.е. приложение работает только под IE.
Интересно, что popup выглядит как настоящее виндовое окно. Скорее всего, разработчики делают его не через слой, а создают окно API-средствами. Такое возможно в JavaScript?
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34443538
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Semen PopovСкорее всего, разработчики делают его не через слой, а создают окно API-средствами. Такое возможно в JavaScript?

Скорее всего, возможно. С использованием объектов ActiveX. В JavaScript-коде должно быть что-то типа
Код: plaintext
var obj = CreateActiveXObject('ObjectName')
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34443568
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и без ActiveX. Рассмотреть в фотошопе под лупой, увидеть цвета, формы, сделать так же. Я сделал грид, который визуально не отличается от DataGrid, с подсветкой строки, рекордселекторами и т.д.
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #34448866
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semen PopovСкорее всего, разработчики делают его не через слой, а создают окно API-средствами. Такое возможно в JavaScript?
Все гораздо проще. Такой видимый эффект можно создать с помощью свойств style . Вот, например, как выглядит календарь - таблица с установленными свойствами style background-color: #e0e5ec; border-top: 2px solid white; border-left: 2px solid white; border-right: 2px solid gray; border-bottom: 2px solid gray;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #35724821
tmp1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Semen Popov,

Скажите Семен, вы долго думали над таким решением?
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #35725031
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tmp1Скажите Семен, вы долго думали над таким решением?Спасибо. С Вашей помощью и Вашими молитвами... Кстати, я еще много над чем здесь думал тынц . А также в других форумах.
Моё подчение
...
Рейтинг: 0 / 0
Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
    #36154769
Zaytsewa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://citforum.univ.kiev.ua/internet/javascript/context/
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Реализация всплывающего меню по правой кнопке мыши в JSP/HTML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]