mootoolsクラスを "safari mobile"でドラッグする方法はありますか? 私を他のフレームワークにリンクしないでください。モバイルでmootoolsでドラッグ
答えて
私はそれを自分で修正しました。タッチイベントにマウスイベントをマップするのと同じくらい簡単です。
だから、解決策は、&を置き換える検索することです。ここでは
mousedown -> touchstart
mouseup -> touchend
mousemove -> touchmove
はMooToolsはドラッグサポートタッチイベントを作るに私の解決策でした。私はClass.refactorを使用するので、この方法は、(これだけMooToolsはのv.1.3.1でテストされた)MooToolsは、より多くのファイルを編集するために私を必要としませんでした - それはまた、それはだ
Class.refactor(Drag,
{
attach: function(){
this.handles.addEvent('touchstart', this.bound.start);
return this.previous.apply(this, arguments);
},
detach: function(){
this.handles.removeEvent('touchstart', this.bound.start);
return this.previous.apply(this, arguments);
},
start: function(event){
document.body.addEvents({
touchmove: this.bound.check,
touchend: this.bound.cancel
});
this.previous.apply(this, arguments);
},
check: function(event){
if (this.options.preventDefault) event.preventDefault();
var distance = Math.round(Math.sqrt(Math.pow(event.page.x - this.mouse.start.x, 2) + Math.pow(event.page.y - this.mouse.start.y, 2)));
if (distance > this.options.snap){
this.cancel();
this.document.addEvents({
mousemove: this.bound.drag,
mouseup: this.bound.stop
});
document.body.addEvents({
touchmove: this.bound.drag,
touchend: this.bound.stop
});
this.fireEvent('start', [this.element, event]).fireEvent('snap', this.element);
}
},
cancel: function(event){
document.body.removeEvents({
touchmove: this.bound.check,
touchend: this.bound.cancel
});
return this.previous.apply(this, arguments);
},
stop: function(event){
document.body.removeEvents({
touchmove: this.bound.drag,
touchend: this.bound.stop
});
return this.previous.apply(this, arguments);
}
});
awesome、+1 - これが本番環境でテストされていて動作していれば、元のクラスを修正してmootoolsにプルリクエストを送信するのはどうですか?タッチデバイスははるかに広く普及しており、これはすぐに使用するのに便利です。 –
素晴らしい!タッチイベントがドラッグされている間にスクロールを無効にする方法を知っていますか?私のウィンドウはドラッグすると同時にスクロールします。 – Sergio
実際にはアンドロイドのバグのために問題があります。http://uihacker.blogspot.it/2011/01/android-touchmove-event-bug.htmlとhttp ://code.google.com/p/android/issues/detail?id = 5491基本的には、touchmoveコールバックでevent.preventDefault()を呼び出し、イベントハンドラを正しく削除するように調整する必要があります – abidibo
- 1. Mootoolsの要素をプロトタイプにドラッグ
- 2. キャンバス(モバイル)内で画像をドラッグ&リサイズ
- 3. The Wall - mootools - ドラッグした後でスライドショーが機能しなくなる
- 4. モバイルでドラッグ中にスクロールを無効にする
- 5. モバイルで3つの地球儀をドラッグできるようにしますか?
- 6. mootoolsのtwitterウィジェットですか?
- 7. Mootoolsで$を理解する
- 8. Image Mootoolsでアップロードする
- 9. IE8でのMootoolsの問題
- 10. Mootools LightFaceプラグインとMootoolsツールチップの統合
- 11. Mootoolsスライドショー
- 12. mootools fx.reveal
- 13. Mootoolsオートコンプリート
- 14. mootoolsでマルチレベルドロップダウンを作成するには?
- 15. CoffeeScriptでMooToolsクラスをバインドする
- 16. MootoolsでAddClass/RemoveClassイベントを連結する
- 17. jquery/mootools/prototypeでES5 shimを使用
- 18. mootoolsでgoogle weather apiを使用する
- 19. mootoolsで擬似要素を選択
- 20. クライアント側のmootools用テンプレートライブラリですか?
- 21. IE8でのjQuery/Mootoolsの問題
- 22. Mootoolsでフォームを操作する方法
- 23. IE9でMootoolsメニューが機能しない
- 24. MooToolsでの実装/拡張の調査
- 25. mootoolsでタイマを設定する方法
- 26. MooToolsでの静的メンバーの継承
- 27. mootoolsでホバー上にテキストオーバーレイを作成
- 28. Jquery-Mootoolsのコンフリクト
- 29. mootoolsのネガティブマージン
- 30. MootoolsとIE9
通常のクリックイベントを破壊しませんmootools 1.2と私は1.3を使用しています。また、私は、ネイティブDragクラスに基づいて多くのコンポーネントを使用しているので、私はそのクラスの修正を好む。ありがとう! – aartiles