これは簡単な解決策のように思えるかもしれませんが、iPad上でこのタッチのものはちょっとです。iPad用Safari上のWebアプリケーション:touchmoveでtouchstartをキャンセルする
私は何をする必要があるのか理解していますが、私は構文を知らないだけです。
問題:私はDIVでいっぱいのページを持っています。これらのDIVはiScroll4ラッパーでラップされています。 iScrollスクリプトは、リンクをタップして移動することでページをスクロールし始める場合、リンクは決して発射されません。
しかし、私はそれほど良くありません。私はDIVをアニメーション化するjQueryコードを "touchstart"に設定していますが、問題は、指をスクロールまたはドラッグしても、アニメーションが欲しくなくてもアニメーションが起動するということです。
タイムアウトを設定するか、タッチスタートをキャンセルする必要があります。または、アニメーションを起動しますが、指をxピクセル分ドラッグしてそのタッチをタッチモーブにすると、タッチをキャンセルします。
誰でもその方法を知っていますか?前もって感謝します!
アレックス
編集:ここに私の現在のjQueryのコードがあります。私は指Xピクセルの量をドラッグすると、アニメーション機能を放棄する必要があります。おそらくpageXとpageYを使用していますか?ここで
$('tr#recent').live("touchend click", function() {
$(".modalWindow").css('display', 'block').animate({
height:716,
top:15,
left:15,
width:995
}, 300);
});
は、Yahooは彼らのScrollviewでそれをしない方法です: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」量をチェックして、あなたの指が一定の距離をドラッグすると、リンクの動作をキャンセルする方法を参照してください。 ....しかし、私はScrollviewを使用していません....
私のファンクションの中にevent.preventDefaultとreturn falseを置くと、指を離したときにアニメーションが発砲してtouchendを停止する限り何もしません。 – Alex
そうです、あなたがする必要があるのは、イベントをmousemoveとtouchmoveにバインドすることです。この場合、アニメーションイベントにstop()を呼び出します。 –
まだ開始していないアニメーションを停止することはできないため、動作しません。私はそれが解雇された後でしかアニメーションを停止することができません。その時点で私は良くありません。私が今までにない解決策に近づいていますが... – Alex