JQuery, событие колеса мыши в FF

  • 8 Ответов
  • 287 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн fbr

Ребята, подскажите плз.
Как заставить простой скрипт jquery работать в Мозилле

Код: (javascript) [Выделить]
$('body').bind('mousewheel', function(e) {
if(e.originalEvent.wheelDelta / 120 > 0) {
alert ('Scroll up');
} else {
alert ('Scroll down');
}
});

Работает во всех браузерах кроме Лисы
Если вместо mousewheel -> wheel, глючит, определяет все как прокрутку вниз.

Гуглил, пробовал разные решения (DOMMouseScroll, MozMousePixelScroll ...) - все глючные.

Может есть проверенное рабочее решение, как закрыть этот старый баг Мозилы ?
Спасибо)

*

Оффлайн vipiusss

  • ********
  • 5862
  • [+]325 / [-]10
  • Skype: renor_
    • Просмотр профиля
Re: JQuery, событие колеса мыши в FF
« Ответ #1 : 05.10.2016, 16:06:11 »
а они же через виндов делают вроде...window.scroll
к примеру:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo

Тогда чисто для мозилы колёсико можно: https://developer.mozilla.org/en-US/docs/Web/Events/MozMousePixelScroll

Вот ещё нашёл подключить скрипт: https://css-tricks.com/snippets/jquery/horz-scroll-with-mouse-wheel/

Просто в шапке я не понял, цель, что колёсико делает.там 120 пикселей и что потом? Поднимает вверх или иначе вниз?
« Последнее редактирование: 05.10.2016, 16:13:28 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Оффлайн fbr

Re: JQuery, событие колеса мыши в FF
« Ответ #2 : 05.10.2016, 16:12:55 »
Я привел упрощенный код части скрипта, чисто для примера
В другом месте у меня задействовано событие scrollTop
Поэтому нужно обрабатывать именно колесо мыши ...

*

Оффлайн vipiusss

  • ********
  • 5862
  • [+]325 / [-]10
  • Skype: renor_
    • Просмотр профиля
Re: JQuery, событие колеса мыши в FF
« Ответ #3 : 05.10.2016, 16:15:10 »
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
<script type='text/javascript' src='/js/jquery.mousewheel.min.js'></script>

$(function() {

   $("body").mousewheel(function(event, delta) {

      this.scrollTop -= (delta * 120);
    
      event.preventDefault();

   });

});

Попробуйте.Работает?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Оффлайн fbr

Re: JQuery, событие колеса мыши в FF
« Ответ #4 : 05.10.2016, 16:18:30 »
там нужно подключать mousewheel.min.js
не хотелось бы ...
Но попробую. Спасибо)

*

Оффлайн fsv

Re: JQuery, событие колеса мыши в FF
« Ответ #5 : 05.10.2016, 16:42:42 »
mousewheel не стандартное, не рекомендуется

Если вместо mousewheel -> wheel, глючит, определяет все как прокрутку вниз.
с выше приведенным кодом?
а если взять пример из доков? - Listening to this event across browser

Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

Оффлайн zomby6888

Re: JQuery, событие колеса мыши в FF
« Ответ #6 : 05.10.2016, 16:55:35 »
http://stackoverflow.com/a/5542105

Хотя вышеприведенное решение даже лучше наверное
интернет-блог: http://websiteprog.ru

*

Оффлайн fbr

Re: JQuery, событие колеса мыши в FF
« Ответ #7 : 05.10.2016, 17:14:36 »
vipiusss, спасибо!
работает во всех браузерах)

Хотелось без доп.скриптов, но 3К как-нибудь переживем))


Ребята, всем спасибо. Ссылки обязательно посмотрю.

*

Оффлайн vipiusss

  • ********
  • 5862
  • [+]325 / [-]10
  • Skype: renor_
    • Просмотр профиля
Re: JQuery, событие колеса мыши в FF
« Ответ #8 : 05.10.2016, 17:46:30 »
Хотелось без доп.скриптов

А вы его добавьте в общий квери, и/или в HTML переведите.
Или вынесите нужную часть. Любой каприз )))

P.S. И вам спасибо.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями