2012-01-22 15 views
2

touchendイベントについての読解では、動作が異なるデバイス間でやや矛盾しているようです。すべての接触が終わったかどうかを判断する最も簡単で簡単な方法を知りたいだけです。このような場合に、nullまたは空であるevent.touchesに依存できないことを正しく理解していますか?いくつかのデバイスが終了タッチをタッチから除外するため、タッチがタッチされたときと同じ長さのchangedTouchesに依存することができないことを正しく理解していますか?クロスプラットフォームのHTML touchendイベント処理

答えて

0

現在のところ、OSX(ipad、iphone)のみがブラウザのongesturechangeイベントをサポートしています。他のすべてのイベントはすべてのデバイスでサポートされています。ここではいくつかのイベントが使用されています。あなたもtouchend使用できるタッチ終了を検出するために、それはすべてのデバイスにわたって同一であり、すべての指がタッチしていないときには、火災の意志:

$(someel).bind('touchend',callback'); 

ちょうどこの

var touchy=("ontouchstart" in document.documentElement)?true:false; 

を使用したタッチのサポートを検出するためにSafari開発者のipadガイドにはこれに関する良い文書があります。

UPDATE:実際に私が間違っていた、touchend火災指を持ち上げるたびに:ここではあなたのための優れたPDFです:21ページ

+0

http://www.albanx.com/programing/ajaxupload/uploaded/SafariJSRef.pdfを見て、あなたは触れて2本の指を持っている、とあなたが持ち上げたらどう1?この状態では、どんなデバイスも触れることはありませんか?私はこの状態で自分のコードを実行したくありません。 *すべての*指が削除されたときにのみコードを実行したい。 – BlueMonkMN

+0

いいえ、そうではありません。すべての指が取り除かれたときにトゥーチェンドが実行されます。だからあなたは大丈夫です。あなたはイベントで指に触れる指の数を検出することさえできます:指= e.touches.length; – albanx

+0

これはどこに文書化されていますか?すべての指が取り除かれるまでトゥーフェンドは発砲しないという事実? – BlueMonkMN