jQuery touchmove не регистрируется в эмуляторе Chrome

Были похожие вопросы о том, как запускать события прокрутки (в середине прокрутки) на мобильном телефоне/планшете. Я использовал приведенный ниже код, но мне еще предстоит заставить его работать в эмуляторе Chrome.

$('body').on({
   'touchmove': function(e) {
       console.log($(this).scrollTop()); // Replace this with your code.
    }
});

touchstart будет регистрировать, когда я прокручиваю сенсорным датчиком, но не touchmove. Что мне не хватает?


person user3521314    schedule 27.03.2015    source источник
comment
У меня отлично работает, когда у меня правильно настроены инструменты разработчика.   -  person j08691    schedule 27.03.2015
comment
Хм. не работает ни у меня, ни у Кристиана   -  person user3521314    schedule 27.03.2015
comment
Достаточно ли длинна страница, которую вы тестируете, чтобы ее можно было прокручивать?   -  person j08691    schedule 27.03.2015
comment
К вашему сведению, у меня это тоже иногда не работает, но нажатие F12, а затем снова F12, чтобы снова включить dev, работает для меня.   -  person StudioTime    schedule 27.03.2015


Ответы (2)


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

проверьте эту ссылку в «датчиках» http://www.sitepoint.com/use-mobile-emulation-mode-chrome/


Попробуйте этот код

<script type="text/javascript">
 $(document).bind('touchmove', function(e) {
   console.log($(this).scrollTop()); 
 });
</script>
person Christian    schedule 27.03.2015
comment
Да, эта статья устарела, поэтому параметры меняются, но я определенно выбрал эмулировать мобильный телефон и эмулировать сенсорный экран. Работает ли это для вас? - person user3521314; 27.03.2015
comment
нет, это не работает. какие библиотеки вы используете?? - person Christian; 27.03.2015
comment
это не тот же код, но он делает то же самое javascriptkit.com/javatutors/touchevents.shtml< /а> - person Christian; 27.03.2015
comment
просто с помощью jquery. jquery загружается. - person user3521314; 27.03.2015
comment
поэтому приведенный выше код работал в моем локальном тестовом примере рабочего стола, но просто не будет работать в моей рабочей среде. это может быть связано с начальной загрузкой и модульностью всего этого, но я не эксперт по js: / edit: под начальной загрузкой я имею в виду основу - person user3521314; 27.03.2015

Я использую bind и originalEvent, которые работают на реальном мобильном устройстве:

    $("html").bind("touchmove", function(e)
    {
        e.preventDefault();
        var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
        var x = touch.pageX, y =touch.pageY;
person Eugene Kardash    schedule 08.11.2017