$swipe
概要
$swipeサービスは、ホールド&ドラッグのスワイプの曖昧な振る舞いを抽象化するサービスで、 スワイプに関係するディレクティブをより便利にしてくれます。
ngTouchのインストールが必要になります。
$swipeはngTouch内のngSwipeLeftとngSwipeRightのディレクティブで使用され、 ngCarouselによってコンポーネントが分離されています。
使用方法
$swipeサービスは、bindのメソッドのみを持つオブジェクトです。 bindはスワイプのための監視対象とする要素を取得する、 4つのハンドラ関数を持つオブジェクトです。 詳細は、下記のbindの説明を確認してください。
bind()
$swipeの主となるメソッドです。 スワイプモーションの監視対象となる要素を取得する、イベントハンドラを含むオブジェクトです。
4つのイベントとは、start
、move
、end
、cancel
です。
start、move、endは、{ x: 150, y: 310 }
のような形式の座標オブジェクトを引数として受け取ります。
startは、mousedown
またはtouchstart
のどちらかで呼び出されます。
このイベントの後に、$swipeはtouchmove
またはmousemove
イベントを待ち受けるようになります。
いずれかの方向の移動距離の合計が最低限のしきい値を超えるまで、これらのイベントは無視されます。
このしきい値を超える度に、水平または垂直どちらの移動距離が大きいか判定処理されます。
- もし、水平方向の移動距離の方が大きければ、これはスワイプであると判定され、moveとendイベントが後に続きます。
- もし、垂直方向の移動距離の方が大きければ、これはスクロールであると判断され、処理をブラウザに引き継がせ、 キャンセルイベントが送られます。
moveは、上記のロジックでスワイプが進行中であると判定処理された後にmousemoveとtouchmoveで呼び出されます。
endは、touchendまたはmouseupでスワイプの完了が成功した際に呼び出されます。
cancelは、ブラウザからtouchcancelとされた、または上記の説明でスクロールとされた際のどちらかの場合に呼び出されます。
© 2017 Google
Licensed under the Creative Commons Attribution License 3.0.
このページは、ページトップのリンク先のAngularJS公式ドキュメント内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- AngularJSの更新頻度が高いため、元のコンテンツと比べてドキュメントの情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。