2012-12-18 13 views
25

これは私が誰かが私がばかだと答えることを願っている状況の1つです。しかし、私はjQueryUI drag \ dropがタッチデバイスでは動作しないことに驚いています。私はそれらすべてをテストしていないが、私は昨年と何もiphone \ ipad \ android 2、3 & 4を試してみました。ちょうど新しいAndroidで最新バージョンを試しました。まだ何も。私を信じてはいけません。モバイルデバイスのデモページにアクセスし、ドラッグドロップの例を試してみてください。何もない。jQueryUIドラッグ・ドロップのタッチ・デバイスでの操作方法

ここには技術的な問題やコアの非互換性がありますか?それほど簡単に修正することはできません。 jQuery開発者はモバイルデバイスを使用しませんか?私はスタックオーバーフローの周りにそこに投稿された "修正"を見ましたが、それらはすべて "ハック"であり、私が試したものはすべて動作しません。

私は困惑しています。誰かがこの問題についていくつかの光を当てることができますか?

+0

私はそれがターゲットオーディエンスの問題だと思います。 jQuery UIは、もともとモバイルデバイスを処理するために書かれていませんでした。それはjQuery Mobileでうまく動作しません。その一部はモバイルデバイスではうまく動作するかもしれませんが、ドラッグすることと関係のあるものは失敗します。 –

+0

[jQuery UIスライダーのタッチ&ドラッグ/ドロップサポートの可能な複製](http://stackoverflow.com/questions/13808663/jquery-ui-slider-touch-drag-drop-support-on-mobile-devices ) – Seth

答えて

57

タッチイベントで現在のjQuery UIコードを使用したい場合は、jQuery UI Touch Punchサルのパッチを使用できます。

jQuery UI (1.x)は、タッチイベントではなくマウスイベントだけをリッスンすることが唯一の「技術的な問題またはコアの非互換性」です(履歴的な理由で@ ScottGonzalesの応答を参照)。上記のjQuery touch punchはその変更を行います。そのページでjQuery UIの例をいくつか試してみることもできます。一般に、タッチパンチを使用して現在受け入れられている解決策です。

0

は、それはデスクトップとタッチデバイス間のイベントのギャップを埋めることができますjQueryプラグインですjQTouch

をチェックしてください。

25

jQuery UIがタッチデバイスをサポートしていない理由は長い歴史の中にありますが、タッチイベントが非標準のWebKit固有の実装であったという事実にも似ています。当時、未来は荒々しそうでした。 Appleは誰も近くに行きたくない特許を保有していた。その結果、Mozillaは決して捉えられないストリームで独自のタッチイベントシステムを実装しました。 MicrosoftとOperaが何をするのかははっきりしていませんでした。 Paul Bakaus(jQuery UIの作成者)wanted to land iPhone support 4 years ago私は公式の基準を待っていました。

時間が経過すると、Mozillaはタッチイベントを放棄し、Microsoftは独自のポインタイベントシステムを実装しました。 W3Cは、タッチイベントを標準化し、Appleの特許を調査するためのワーキンググループを結成しました。タッチイベントワーキンググループは勧告を発表し、解散しました。マイクロソフトは最終的にPointer Eventsを標準化する提案を提出しました。現在、W3C Pointer Eventsワーキンググループがあります。

私たちは現在、jQuery UI 2.0の一部となるすべてのjQuery UIインタラクションのdevice-agnostic rewriteを取り組んでいます。それまでは、jQuery UI Touch Punchを使用することができます。

今年の早い時期に、Touch Eventsの歴史の一部と、Pointer Eventsがより良い将来をもたらす理由について書きました。 jQuery blogで読むことができます。

+8

この問題に関する最新情報はありますか? – Lombas

関連する問題