JQuery Mobile Tap событие срабатывает один раз, затем вызывает проблемы - PullRequest
2 голосов
/ 12 февраля 2012

У меня есть событие касания, связанное с изображением.Документ должен прокручиваться при нажатии на изображение.Работая на ipad с iOS5, эта функция работает нормально при первом касании изображения, но если пользователь нажимает на изображение второй раз подряд, функция завершается ошибкой.Если пользователь постоянно нажимает, функция, похоже, снова срабатывает, но не может прокрутить расстояние до полного пикселя, определенного в функции.

Если пользователь коснется изображения, коснется экрана, чтобы физически прокрутить страницу, а затем коснется изображения во второй раз, когда функция сработает, как и должно быть.Почему мой код работает во втором случае, а не в первом?Немобильная версия работает просто отлично.

<script type="text/javascript">
    $(window).load(function () {
        $('#down_button').bind('tap', function() {
            $.scrollTo( '+=1024px', {axis: 'y', duration:300} );
        });

        $('#up_button').bind('tap', function() {
            $.scrollTo( '-=1024px', {axis: 'y', duration:300} );
        });
    });
</script>

1 Ответ

0 голосов
/ 20 февраля 2012

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

Если это так, то событие касания, вероятно, пузырится. Вы можете предотвратить это, добавив event.stopPropagation () к одному или обоим из ваших обработчиков событий. Это также потребует, чтобы вы изменили функцию для передачи события, например, так:

.bind('tap', function(event) {
...