Используйте javascript для предотвращения контекстного меню при CTRL+щелчок левой кнопкой мыши

Я пытаюсь разрешить пользователям моей CMS щелкать определенные элементы управления с нажатыми ALT+CTRL, но это приводит к отображению контекстного меню, потому что CTRL+Левый щелчок имитирует Правый щелчок, по крайней мере здесь, в Mac OSX (которая является основной ОС моего клиента).

Вопрос в том, как я могу остановить всплывающее контекстное меню, но при этом убедиться, что мой щелчок переходит к элементу, на котором он запускается?

Я попробовал oncontextmenu="return false;" на своем <body> в целях тестирования. Это правильно предотвратит появление меню, но мое событие click не пройдет.


person SquareCat    schedule 25.11.2011    source источник
comment
с точки зрения UX я бы посоветовал выбрать другой ярлык.   -  person zzzzBov    schedule 25.11.2011
comment
Хорошо, мне тяжело расставаться со старыми привычками, как и моим клиентам, но, может быть, это единственный путь? Кто-нибудь знает, могу ли я проверить клавишу FN на Mac?   -  person SquareCat    schedule 25.11.2011
comment
Firefox, наконец, начал добавлять поддержку пользовательских элементов контекстного меню. Это было бы идеальным решением, но оно практически не поддерживается.   -  person zzzzBov    schedule 25.11.2011
comment
Это звучит интересно. На самом деле в моей ситуации это был бы вариант, так как я решил ограничить использование CMS исключительно Firefox.   -  person SquareCat    schedule 25.11.2011
comment
Это новое в Firefox 8, а ошибки все еще обрабатываются, но есть хорошая демонстрация по крайней мере.   -  person zzzzBov    schedule 25.11.2011
comment
Хорошая вещь! Но как вы думаете, смогу ли я полностью отключить меню, чтобы добиться желаемого эффекта?   -  person SquareCat    schedule 25.11.2011


Ответы (1)


Поскольку я не смог должным образом решить эту проблему, повозившись с поведением браузера в отношении контекстного меню, я выбрал другой подход и привязал клавишу META вместо клавиши CTRL. Хорошо работает таким образом. Я оставлю вопросы и ответы для других.

person SquareCat    schedule 26.11.2011