簡體   English   中英

jQuery移動點擊事件觸發一次,然后導致問題

[英]jquery mobile tap event fires once then causes problems

我有一個綁定到圖像的點擊事件。 點擊圖像時,文檔應滾動。 在使用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>

您沒有顯示關聯的HTML,所以我猜這些元素之一可能嵌套在另一個元素中。

如果真是這樣,那么tap事件很可能會冒泡。 您可以通過將event.stopPropagation()添加到一個或兩個事件處理程序中來防止這種情況的發生。 這還需要您更改函數以傳遞事件,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM