2012-02-08 11 views
0

jQuery UIをドラッグ可能、ドロップ可能、ソート可能なインターフェイスでテストしましたが、ドラッグアンドドロップがモバイルブラウザでは機能しないことに気付きました。私は、モバイルブラウザでイベントが発生する別の方法があると思います。JavaScript Mobileドラッグアンドドロップ

モバイルブラウザにドラッグアンドドロップをサポートするJavaScriptフレームワークはまだありますか?

もしそうでなければ、基本的なドラッグ/ドロップ機能を組み合わせる方法についてのアイデアはありますか?

答えて

2

厄介なもの...私はあなたが問題をかなり強調していると思います:タッチイベントはjQueryのドラッグアンドドロップ機能とまだ統合されていません。ドラッグ&ドロップライブラリがあるかどうかわかりませんモバイルデバイスの範囲を対象としています。

私が言うことができるのは、は、あなた自身でそれらのイベントにタップを開始することです。しかし、あなた自身ですべてを書くつもりかどうかはわかりません。あなたは次の何をしたかを制御できますイベント、にあなたをパッチします

if (navigator.userAgent.match(/iphone/i) || 
    navigator.userAgent.match(/ipad/i) || 
    navigator.userAgent.match(/ipod/i) || 
    navigator.userAgent.match(/android/i)) 
{ 
    var element = $('#your_draggable_element_id'); 
    element.bind('touchstart', touchStartFunctionHere); 
    element.bind('touchmove', touchMoveFunctionHere); 
    element.bind('touchend', touchEndFunctionHere); 
} 

:簡単に言えば、モバイルデバイスをチェックして、イベントをアタッチすると、このように達成することができました。あなたは明らかにドラッグの動きやタッチなどの場所を望むでしょうし、イベント自体からそれらを得ることができます。

function touchMoveFunctionHere(event) 
{ 
    event.preventDefault(); 
    var x = event.originalEvent.touches[0].pageX; 
    var y = event.originalEvent.touches[0].pageY; 

    ... 

} 

ない完全なソリューションは、あなたが探していた、と私は他の誰かがモバイルデバイス用のドラッグ/ドロップフレームワークにいくつかの光を当てることができると思いますが、それはスタートだ:たとえば、上記のコードに基づいて!お役に立てれば!

+2

これらのイベントが利用可能かどうかをテストするには、modernizrのようなjs libを使用する必要があります。ユーザエージェントをテストすることは悪の新しいルートです。 –

+2

ハハハハ!まさに私の脳の一部を照らしたあなたのコメントの+1は、私が失ったと思った...;) –

+0

歓迎:p –

関連する問題