Сохранение собственного стиля контекстного меню на веб-страницах - PullRequest
2 голосов
/ 11 июля 2010

Я знаю, что все ненавидят, когда их контекстные меню портятся, поэтому то, о чем я прошу, является противоположностью этого.Я пытался найти плагины javascript, которые касаются изменения контекстных меню на веб-страницах, но я считаю, что они очень навязчивы.(т.е. контекстное меню теперь содержит только те элементы, которые выбирает разработчик).Есть ли способ просто добавить элемент в контекстное меню, сохраняя при этом обычные элементы пользователя и в то же время сохраняя собственный стиль меню?Те же плагины, которые я нашел, требуют от разработчика определения нового стиля для меню.Я не вижу смысла изобретать велосипед.

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

1 Ответ

1 голос
/ 11 июля 2010
  • Контекстное меню нельзя изменить с помощью обычного JavaScript + DOM.Его (обычно) можно подавить и заменить некоторым динамическим HTML, который выглядит и действует как контекстное меню.Вот почему стилизация выглядит иначе, и поэтому вы не можете комбинировать встроенные и пользовательские контекстные меню ... «контекстные меню», выполненные в javascript, на самом деле не являются контекстными меню.

  • Контекстное меню может быть отключено, если событие отменено, но это зависит от браузера - в большинстве браузеров есть возможность запретить скрытие контекстного меню;если это включено, то даже если событие отменено, меню покажет.Это приводит к отображению двух «контекстных меню»: реального контекстного меню и поддельного javascript-меню.

  • Для стилизации веб-страниц на основе внешнего вида системы пользователя используйте системные цвета, определенныев CSS2 (http://www.iangraham.org/books/xhtml1/appd/update-23feb2000.html) и / или свойстве внешнего вида CSS3 (http://www.w3.org/TR/2004/CR-css3-ui-20040511/#system)

Редактировать: В ответ на "a client of mine wants to add extra functionality to the site when the user right clicks" - вы можете захотетьсообщить клиенту, что он должен делать это только в том случае, если сайт представляет собой веб-приложение (например, например, Google Docs), где пользователи разумно ожидают, что контекстное меню сделает что-то необычное.Вы также должны убедиться, что есть не скрытый способ сделать все, что можно сделать через контекстное меню.

...