2012-02-11 51 views
2

我有一個點擊事件綁定到圖像。當圖像被點擊時文檔應該滾動。在iOS5上使用ipad時,該功能在第一次點擊圖像時工作正常,但如果用戶連續第二次點擊該圖像,該功能將失敗。如果用戶持續點擊,該功能似乎再次觸發,但無法滾動功能中定義的全像素距離。jquery手機點擊事件觸發一次,然後導致問題

如果用戶點擊圖像,觸摸屏幕以物理地滾動頁面,然後稍後點擊該圖像,該功能第二次觸發,因爲它應該。爲什麼我的代碼在第二種情況下工作,但不是第一種?非移動版本工作得很好。

<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> 
+0

你是什麼意思的「用戶連續第二次點擊圖像」雙擊?或者在文檔完成滾動後再次點擊? – ShankarSangoli 2012-02-11 21:02:39

+0

嘗試沒有window.load包裝 – 2012-02-11 22:57:45

回答

0

您沒有顯示關聯的HTML,因此我將猜測其中一個元素可能嵌套在另一個元素中。

如果是這種情況,那麼輕拍事件可能會冒泡。您可以通過將event.stopPropagation()添加到事件處理程序中的一個或兩個來防止發生這種情況。這也需要你改變傳遞的功能,如下所示:

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

我必須嘗試在某些時候。我實際上使用了一個固定寬度的文檔,最終我讀到固定寬度的文檔不支持在移動webkit中滾動,所以我認爲這是問題所在。雖然很奇怪,但我可以滾動一下工作。 – 2012-02-22 15:22:26