jquery и скроллинг
// Инициализация обработчика колеса мыши, повесим его только на слой regionList if (document.getElementById("regionList").addEventListener) { document.getElementById("regionList").addEventListener('DOMMouseScroll', noscrl, false); } // Для всех остальных браузеров подойдет вот такая инициализация: document.getElementById("regionList").onmousewheel = noscrl; А теперь тоже самое но на jquery, плиз. Ужасный язык javascript. Нафига столько букв? |
daima,
То же самое на jquery (3 варианта): $('#regionList').scroll(noscrl); $('#regionList').bind('scroll', noscrl); $('#regionList').on('scroll', noscrl); |
Цитата:
noscrl = cancelScroll Ужасен не язык, а его поддержка. Верней, ужасны люди, из-за которых не происходит своевременное обновление браузеров. Эталонный код без всяких оберток и тд: var regionList = document.querySelector('#regionList'); regionList.addEventListener('wheel', cancelScroll); Чтобы этот код заработал в IE7-8, нужно подключить через условные комментарии костыль: https://github.com/devote/spike |
Но это не все. С событием колеса мыши есть проблемы.
В старых firefox это DOMMouseScroll, в остальных браузерах это mousewheel, а в новых FireFox, IE9+ это wheel (HTML5, но его не обязательно использовать) Поэтому: var regionList = document.querySelector('#regionList'); for (var eventType in {'DOMMouseScroll':1, 'mousewheel':1}) { regionList.addEventListener(eventType, cancelScroll); } |
Часовой пояс GMT +3, время: 08:04. |