В этой статье в основном представлена соответствующая информация об отключении событий колесика мыши в JavaScript. Друзья, нуждающиеся в этом, могут обратиться к ней.
Обычно мы корректируем совместимость более ранних версий IE, когда дело касается совместимости, но на этот раз это не потому, что более ранняя версия браузера некомпетентна. Все потому, что Firefox зашел слишком далеко и полностью игнорирует опыт других браузеров. Все браузеры, кроме Firefox, могут использовать событие MouseWheel для обработки реакции колеса мыши. Однако Firefox не поддерживает MouseWheel и использует бессмысленный DOMMouseScroll, который несовместим с другими браузерами, кроме Firefox. Другими словами, для обработки событий колеса мыши Firefox может использовать только DOMMouseScroll. Не-Firefox может использовать только MouseWheel. Принципы этих двух событий разные, и данные, которые они обрабатывают, тоже разные.
- varfirefox=navigator.userAgent.indexOf('Firefox')!=-1;
- firefox?img.addEventListener('DOMMouseScroll',MouseWheel,false):
- (img.onmousewheel=MouseWheel);
- functionMouseWheel(e){
- е=е||окно.событие;
- если (e.stopPropagation) e.stopPropagation();
- elsee.cancelBubble=истина;
- если(e.preventDefault)e.preventDefault();
- elsee.returnValue = ложь;
- }
Давайте посмотрим на полный код
- <!DOCTYPEhtml>
- <стиль>
- span{font:14px/20pxMicrosoft Yahei;}
- #прилавок{
- ширина: 50 пикселей; высота: 20 пикселей;
- граница: 1pxsolid#CCC;
- фон: # F9F9F9;
- шрифт: 14 пикселей/20 пикселейConsolas;
- выравнивание текста: по центру;
- поле: 10 пикселей;
- }
- </стиль>
- <span>Используйте колесо мыши, чтобы отрегулировать значение</span><br/>
- <divid=counter>0</div>
- <скрипт>
- //Оцениваем браузер
- varisIE=navigator.userAgent.match(/MSIE(/d)/i);
- isIE=isIE?isIE[1]:не определено;
- varisFF=/FireFox/i.test(navigator.userAgent);
- //Получаем элементы
- varcounter=document.getElementById(счетчик);
- //Событие колеса мыши
- if(isIE<9)//Традиционные браузеры используют событие MouseWheel
- counter.attachEvent(onmousewheel,function(){
- //Рассчитываем расстояние, на которое прокручивается колесо мыши
- //Одна сетка состоит из 3 строк, каждая строка имеет 40 пикселей, поэтому делим на 120
- varv=event.wheelDelta/120;
- counter.innerHTML=counter.innerHTML*1+v;
- //Блокируем метод браузера по умолчанию
- возвратложь;
- });
- elseif(!isFF)//Современные браузеры, кроме Firefox, также используют событие MouseWheel
- counter.addEventListener(mousewheel,function(e){
- //Рассчитываем расстояние, на которое прокручивается колесо мыши
- varv=e.wheelDelta/120;
- counter.innerHTML=counter.innerHTML*1+v;
- //Блокируем метод браузера по умолчанию
- е.preventDefault();
- },ЛОЖЬ);
- else//Странный Firefox использует событие DOMMouseScroll
- counter.addEventListener(DOMMouseScroll,function(e){
- //Рассчитываем расстояние, на которое прокручивается колесо мыши
- //Одна сетка состоит из 3 строк, но обратите внимание, что отличие здесь от пикселей в том, что это отрицательное значение
- varv=-e.detail/3;
- counter.innerHTML=counter.innerHTML*1+v;
- //Блокируем метод браузера по умолчанию
- е.preventDefault();
- },ЛОЖЬ);
- </скрипт>
Выше приведено все содержание этой статьи, надеюсь, она вам всем понравится.