Специальные события мыши в браузере: колесо, щелчок правой кнопкой мыши? - PullRequest
1 голос
/ 04 февраля 2009

Карты Google - это впечатляющая демонстрация того, что вы можете сделать с помощью Javascript и Ajaxy-goodness. Даже мое колесо прокрутки мыши и щелчок правой кнопкой мыши обеспечивают определенную функциональность.

В стандартной спецификации HTML я не вижу события "onmouserightclick" или аналогичной базовой обработки javascript для колеса мыши. Может быть, я смотрю не в том месте.

Я предполагаю, что эти события зависят от браузера и платформы (или "чувствительны", а не специфичны). И мне интересно, какой базовый простой HTML и Javascript необходим для использования этих событий во ВСЕХ браузерах.

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

Как использовать события с колесом мыши и щелчком правой кнопкой мыши? Я ищу образец кода.

РЕДАКТИРОВАТЬ: Спасибо за код JQuery, ребята! У системного разработчика во мне все еще есть вопросы и сомнения. В основном меня беспокоят ограничения платформы, которые здесь могут применяться. Есть ли браузер, в котором некоторые из этих функций не работают? Допускают ли события колесика мыши вверх и вниз также события щелчка колесом мыши? Я просто ожидал, что там будет какое-то ограничение, и мне интересно, если это официально задокументировано. Я хочу знать, как это работает на низком уровне. Я рад видеть, что это легко сделать в jQuery, это еще одна причина для меня.

Ответы [ 3 ]

4 голосов
/ 05 февраля 2009

Колесо мыши :
метод "без jquery-или-прототипа-библиотеки": здесь

Метод прототипа: Здесь

Метод JQuery: Здесь

2 голосов
/ 04 февраля 2009

Если вы используете jQuery, с помощью меню правой кнопки мыши сделать это очень просто:

$(document).bind("contextmenu",function(e){
    alert("You right clicked!");
    return false; //disable the context menu
});

В противном случае вы можете использовать этот скрипт, предоставленный quirskmode: http://www.quirksmode.org/js/events_properties.html#link6

Что касается колеса мыши, это отличный скрипт, который я использовал в прошлом:

http://adomas.org/javascript-mouse-wheel/

1 голос
/ 04 февраля 2009

Вы сказали, что кросс-браузер, поэтому вы должны иметь в виду jquery: P

http://www.ogonek.net/mousewheel/jquery-demo.html

http://abeautifulsite.net/notebook_files/68/demo/

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

...