Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как отменить скролл в мобильном браузере только для одного элемента? (https://javascript.ru/forum/misc/30563-kak-otmenit-skroll-v-mobilnom-brauzere-tolko-dlya-odnogo-ehlementa.html)

mitiya 08.08.2012 16:23

как отменить скролл в мобильном браузере только для одного элемента?
 
чтобы отменить скрол по движению пальцем использую вот это:

document.body.addEventListener('touchmove', function(event) {
	event.preventDefault();
}, false);


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

mullih 08.08.2012 16:40

попробуйте

document.getElementById('id_diva').addEventListener('touchmove', function(event) {
    event.preventDefault();
}, false);

mitiya 08.08.2012 17:01

вроде работает. Но в опере мобайл, почему-то иногда див вроде как выделяется такой синей подсветкой, но не всегда.

mullih 08.08.2012 19:26

Цитата:

Сообщение от mitiya (Сообщение 195668)
вроде работает. Но в опере мобайл, почему-то иногда див вроде как выделяется такой синей подсветкой, но не всегда.

могу предположить что это выделение текста отрабативает когда начинается движение очень близко от края дива а броузер определил что движенение началось за пределами

как то так, сам ничего не понял но может вы поймете :)

Hekumok 08.08.2012 22:10

Цитата:

Сообщение от mitiya (Сообщение 195668)
вроде работает. Но в опере мобайл, почему-то иногда див вроде как выделяется такой синей подсветкой, но не всегда.

По-моему, в опере мобайл выделяются синей подсветкой объекты, на которых стоит onclick

mitiya 09.08.2012 23:38

но у меня не стоит онклин на нем.
на нем свайп стоит, но если я скрол на это элементе не отключаю синей подсветки не появляется.


Часовой пояс GMT +3, время: 05:08.