Контекстні меню, javascript

Контекстне меню - це спеціальне меню, яке залежить від контексту, яке в більшості програм відображається при натисканні правої кнопки миші. Особливістю цього меню є залежність його вмісту від ситуації, в якій воно активізовано. Найпростіше ознайомитися із зазначеним об'єктом, клацнувши правою кнопкою миші в межах Web-сторінки (в системі Маc, - утримуючи відповідну кнопку).

Internet Explorer 5 + і браузери на базі Mozilla надають можливість задати реакцію на активізацію контексту, використовуючи для цього оброблювач подій oncontextmenu, пов'язаний з об'єктом Document.

Асоціація підходящої функції з цим обробником подій дозволяє налаштувати контекстну залежність - наприклад, для відображення меню оригінальної конструкції. У припущенні, що визначені функції showMyMenu () і hideMyMenu (), за допомогою яких відображається і ховається потрібне DHMTL-меню, можна використовувати


document.oncontextmenu = showMyMenu;
document.onclick = hideMyMenu;

Потрібно обов'язково приховати меню при нормальному натисканні користувача, оскільки таким чином імітується поведінка звичайного контекстного меню, і поведінка вашого меню для користувача не відрізнятиметься від звичного. Як і в разі будь-якого іншого обробника подій, повернення false від програми обробки контекстного меню заборонить виконання дії за замовчуванням (т. Е. Відображення контекстного меню, що з'являється за замовчуванням).

Якщо обробник не повертає ніякого значення або повертає true, на додаток до всіх дій, виконуваних оброблювачем, на екрані з'явиться і "звичайне" контекстне меню. Досить часто контекстне меню використовується для того, щоб не допустити збереження зображення, розміщеного на сторінці, на локальному диску користувача.

Як правило, для того, щоб зберегти зображення на диску, користувач виконує клацання на зображенні правою кнопкою миші і використовує з'явилося контекстне меню, щоб зберегти відповідний елемент сторінки на диску. Захоплення подій контекстного меню може не дати наївному користувачеві зробити це. Наприклад, в кінець документа HTML можна помістити наступний короткий сценарій:

По-друге, використання зазначеного сценарію може дратувати користувачів, які очікують побачити контекстне меню. Можна, звичайно, удосконалити сценарій, організувавши перевірку того, що клацання правою кнопкою миші виконується саме на зображенні, але проблема залишиться тією ж: зникнення контекстного меню може спантеличувати або дратувати користувачів.

Схожі статті