這似乎是一個簡單的解決方案,但當談到iPad上的這種觸摸工具時,我有點不解。用於iPad的Safari應用程序上的Web應用程序:取消touchmove的touchstart
我理解我需要做的概念,我只是不知道語法。
問題:我有一個充滿DIV的頁面。這些DIV被包裝在一個iScroll4包裝中。 iScroll腳本設置得很好,如果您要開始通過點擊和移動鏈接來滾動頁面,鏈接永遠不會觸發。然而,我並不那麼好。因爲我設置了一些jQuery代碼來動畫其中一個DIV的「touchstart」,但問題是,即使我滾動或拖動我的手指,動畫也會在我不想要的時候觸發。
我需要設置超時或取消touchstart。或者觸發動畫,但是如果您拖動手指x像素並將該觸摸轉換爲觸摸移動,則取消觸摸。
有誰知道該怎麼做?提前致謝!
Alex
編輯:這是我目前的jQuery代碼。如果我拖動我的手指X像素量,我需要從發射取消動畫功能。可能使用pageX和pageY?
$('tr#recent').live("touchend click", function() {
$(".modalWindow").css('display', 'block').animate({
height:716,
top:15,
left:15,
width:995
}, 300);
});
這裏是雅虎是怎麼做的與他們的滾動型:http://developer.yahoo.com/yui/3/examples/scrollview/scrollview.html
var content = scrollView.get("contentBox");
content.delegate("click", function(e) {
// Prevent links from navigating as part of a scroll gesture
if (Math.abs(scrollView.lastScrolledAmt) > 2) {
e.preventDefault();
Y.log("Link behavior suppressed.")
}
}, "a");
看看它們是如何檢查「lastscrolled」金額,然後取消鏈接的行爲,如果你拖動手指一定的距離。 ....但我沒有使用滾動查看....
將event.preventDefault放回到我的函數中並返回false,當釋放我的手指時,不會停止觸發動畫。 – Alex
沒錯,所以你需要做的是將一個事件綁定到mousemove和touchmove,在這個事件中,你接着調用stop()給動畫事件。 –
這不起作用,因爲您無法停止尚未開始的動畫。我只能在它被解僱後停止動畫,並且在那一點上它對我沒有好處。雖然我現在比以前更接近解決方案...... – Alex