2011-06-28 14 views
1

これは簡単な解決策のように思えるかもしれませんが、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を使用していません....

答えて

3

デフォルトのイベントを終了させたい場合は、キャンセルする必要があります。 jQuery event object、特にevent.preventDefault()とevent.stopPropagation()を読んでください。もう一つのトリックはあなたには、いくつかのより多くのものをしたい場合は、あなたがXを得るために「touchmove」の別のバインドを追加したい、通常...

$('div').bind('touchstart', function(e) 
{ 
    // do some funky stuff 

    return false; // this'll cancel the default behaviour of the event 
}); 

関数の終わりに偽追加することですので、動きのY。

+0

私のファンクションの中にevent.preventDefaultとreturn falseを置くと、指を離したときにアニメーションが発砲してtouchendを停止する限り何もしません。 – Alex

+1

そうです、あなたがする必要があるのは、イベントをmousemoveとtouchmoveにバインドすることです。この場合、アニメーションイベントにstop()を呼び出します。 –

+0

まだ開始していないアニメーションを停止することはできないため、動作しません。私はそれが解雇された後でしかアニメーションを停止することができません。その時点で私は良くありません。私が今までにない解決策に近づいていますが... – Alex

関連する問題