Как отключать контекстное меню?
Проблема
Есть ли способ запретить вывод в окне Web-обозревателя контекстного меню при
щелчке правой кнопкой мыши?
Решение
Есть, но только в Internet Explorer версии 5.0 или более новой и Firefox.
Нужно использовать написать функцию-обработчик события onContextMenu объекта
body, возвращающую значение false. (Как мы помним из главы 2, возврат из
функции-обработчика значения false запрещает действие по умолчанию при
наступлении данного события.)
Народ предупреждает!
Не следует забывать о трех вещах. Во-первых, Opera не поддерживает событие
onContextMenu. Во-вторых, Firefox позволяет в своих настройках отключить
исполнение сценариев, запрещающих контекстное меню. В-третьих, сценарии,
убирающие контекстное меню, — очень плохой стиль Web-программирования;
считается, что так ограничивается свобода посетителя сайта пользоваться
размещенной на нем информацией, как ему заблагорассудится.
Пример
Далее приведен код HTML Web-страницы, в которой при щелчке правой кнопкой
мыши не будет выводиться контекстное меню:
<HTML> <HEAD>
<TITLE>Долой контекстное меню!</TITLE> </HEAD>
<BQDY ONCONTEXTMENU="return false;">
<Р>Попробуйте щелкнуть правой кнопкой мыши и проверьте, появится
ликонтекстное меню.</Р>
<Р>Ага, не появилось!!!</Р>
</BODY>
</HTML>
Здесь мы вставили в значение атрибута oncontextmenu тега <body>,
соответствующего одноименному событию, единственное выражение, возвращающее
false. В данном случае необязательно писать функцию-обработчик.
|