3

JQM で Web ドキュメント リーダーを作成しています。ユーザーが読書中に連続して左右にスクロールすることを望まないので、私のビューポートは次のとおりです。

<META NAME='viewport' CONTENT='width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=1;' />

ただし、視覚スキルが異なるため、ユーザーのフォントサイズの好みが変わる可能性があることは承知しています...したがって、マルチタッチ縮小アクション(「ピンチイン」)でフォントサイズを縮小し、拡大するといいと思いましたマルチタッチ ズーム アクション (「ピンチアウト」) のフォント サイズ...

出来ますか?JQM以外に外部ライブラリが必要ですか?

4

1 に答える 1

7

jQuery Mobile では可能ですが、 hammer.jsというサードパーティの実装を使用する必要があります。

次のような多数のジェスチャーをサポートしています。

  • 所有
  • タップ
  • ダブルタップ
  • ドラッグ、ドラッグスタート、ドラッグエンド、ドラッグアップ、ドラッグダウン、ドラッグレフト、ドラッグライト
  • スワイプ、上にスワイプ、下にスワイプ、左にスワイプ、右にスワイプ
  • 変換、変換開始、変換終了
  • 回転する
  • ピンチ、ピンチ、ピンチアウト
  • タッチ(ジェスチャー検出開始)
  • 離す(ジェスチャー検出終了)

例:

$('#test_el').hammer().on("pinchin", ".nested_el", function(event) {
    console.log(this, event);
});

$('#test_el').hammer().on("pinchout", ".nested_el", function(event) {
    console.log(this, event);
});

jQuery Mobile で動作します。これは重要です。しかし、Android 2.X デバイスはマルチタッチ イベントをサポートしていないため、別のアイデア、または少なくとも Android 2.X デバイス用の別のアイデアを考える必要があります。

Touchyのような他のサードパーティの実装もあります。残念ながら、Touchy はピンチのみをサポートしています。

于 2013-04-09T08:50:11.187 に答える