jquery移动点击事件一旦触发就会引发问题

时间:2012-02-11 20:44:53

标签: jquery ipad jquery-mobile scrollto

我有一个绑定到图像的点击事件。点击图像时,文档应滚动。在使用iOS5的ipad上工作时,该功能在第一次点击图像时工作正常,但如果用户连续第二次点击图像,则该功能失败。如果用户持续点击该功能似乎再次触发,但无法滚动功能中定义的完整像素距离。

如果用户点击图像,触摸屏幕以物理滚动页面,然后稍后点击图像,该功能将按原样点亮。为什么我的代码在第二种情况下工作但不在第一种情况下工作?非移动版本可以正常使用。

<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 :(得分:0)

您没有显示关联的HTML,因此我猜测其中一个元素可能嵌套在另一个元素中。

如果是这种情况,那么点击事件可能会冒泡。您可以通过向事件处理程序中的一个或两个添加event.stopPropagation()来防止这种情况发生。这还需要你改变函数以传递事件,如下所示:

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