JS. Tooltip, а также работа с правой клавишей мыши
2. Как обработать правую клавишу мыши и сделать свое контекстное меню .. ну например опять на той же ссылке?
2. отлавливать нажатие правой клавиши мышки, возвращать false или returnValue/preventDefault и показывать див/таблицу, которая будет имитировать меню. При потере фокуса или клике на теле документа прятать меню.
2. отлавливать нажатие правой клавиши мышки, возвращать false или returnValue/preventDefault и показывать див/таблицу, которая будет имитировать меню. При потере фокуса или клике на теле документа прятать меню.
Не затруднит указать событие возникающие при этом и работающим в JS?
Для ссылки вещают обработчик события onMouseMove, этот обработчик через DOM API рисует div с position:absolute, координаты вывода div-а он берет из pageX, pageY. Для ссылки вещают еще один обработчик по событию MouseOut который и гасит div.
Вот создал специально пример
<html>
<head>
<title>Context Menu Alpha</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
#cmenu {
display: none;
position: absolute;
top: 0;
left: 0;
border-collapse: collapse;
}
#cmenu td {
border: 1px solid black;
background: #fff;
}
</style>
<script type="text/javascript">
document.oncontextmenu = function() {
document.getElementById("cmenu").style.display = "block";
return false;
};
</script>
</head>
<body>
<p>testing</p>
<table id="cmenu">
<tr><td>Item 1</td></tr>
<tr><td>Item 2</td></tr>
<tr><td>Item 3</td></tr>
<tr><td>Item 4</td></tr>
</table>
</body>
</html>
Это конечно далеко не полная эмуляция попап-меню, надо еще устанавливать координаты, подсвечивать ячейки при наведении мыши, прятать его при клике на боди (или создать невидимый инпут, который будет терять фокус (что ИМХО лучше)), обрабатывать нажатия на ячейки. Вместо таблицы можно использовать, например, див.
Такая вещь не будет работать в Опере (я хоть и ее фанат, но признаю что для девелопера она не поддерживает многих полезных вещей).
Проверял в ИЕ 6 и ФФ 2.
Такая вещь не будет работать в Опере (я хоть и ее фанат, но признаю что для девелопера она не поддерживает многих полезных вещей).
Проверял в ИЕ 6 и ФФ 2.
О чем и речь. В ECMAScript вообще нет такого события как oncontextmenu.
Дальше со своими стандартами.... :)
Ну и что, главное, что некоторыми браузерами поддерживается. Для интранет в организации стандарты вообще не имеют никакого значения - главное что б все работало, а я считаю что замена контекстного меню только в таком случае и нужна...
Стандарты не всегда целесообразны.
ЗЫ ИМХО конечно
Ага... давай устроим развал и анархию.... какие нах W3C? В п**ду их, правильно. И пусть каждая компания создающая браузеры использует свой язык разметки, свои стили и вообще придумывает что угодно.
Видится мне в тебе совершенно не технарь который не понимает, зачем появился в свое время ГОСТ, СНиП, RFC и прочие нормативные (и не совсем) акты.
Ну давай устроим... давай... :) Хотя стоп. Погоди, вроде уже и так развал и анархия благодаря "большой компании на букву М" (с) и другим компаниям...
А если начальник/заказчик захочет сделать некую фичу, которой нет в стандартах, но поддерживается браузерами, то что ты пошлешь его "в п**ду", ибо нет такого в стандартах?
Так ведь речь шла о внутрикорпоративных стандартах, насколько я понял.
Конечно, сказано слишком сильно :-). IMHO, использование определенных возможностей конкретного браузера (того же IE) на внутрикорпоративном сайте не подразумевает того, что стандартов придерживаться не надо.
А если начальник/заказчик захочет сделать некую фичу, которой нет в стандартах, но поддерживается браузерами, то что ты пошлешь его "в п**ду", ибо нет такого в стандартах?
Не пошлю. Однако:
использование определенных возможностей конкретного браузера (того же IE) на внутрикорпоративном сайте не подразумевает того, что стандартов придерживаться не надо.
JavaScript & DHTML Cookbook (eng) 1.47 MB, глава 10.7