Запрет сенсорного запуска при прокрутке страницы на мобильном телефоне с помощью вызова ajax - PullRequest
0 голосов
/ 29 мая 2018

Обычно это будет код:

var touchmoved;
$('button').on('touchend', function(e){
    if(touchmoved != true){
        // you're on button click action
    }
}).on('touchmove', function(e){
    touchmoved = true;
}).on('touchstart', function(){
    touchmoved = false;
});

Однако этот код, похоже, не работает для динамически генерируемых элементов ajax.

Для этого у меня есть этот код:

var touchmoved;
$(document).on('click touchend', '.menu', function(){
    if(touchmoved != true){
        // you're on button click action
    }
}).on('touchmove', '.menu', function(e){
    touchmoved = true;
}).on('touchstart', '.menu', function(){
    touchmoved = false;
});

Теперь он работает для веб-интерфейса, но, похоже, не работает для мобильного интерфейса.

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

1 Ответ

0 голосов
/ 05 июля 2018

Оказывается, код, который я выложил изначально, был правильным ответом.

Я использовал сторонний скрипт под названием nicescroll, и в версии, которую я скачал, были некоторые ошибки.

Так что длябудущие поколения, способ (на данный момент) предотвратить сенсорный запуск для динамически генерируемых элементов:

var touchmoved;
$(document).on('click touchend', '.menu', function(){
    if(touchmoved != true){
        // your click action here!!!
    }
}).on('touchmove', '.menu', function(e){
    touchmoved = true;
}).on('touchstart', '.menu', function(){
    touchmoved = false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...