1

iPhoneの画面で指の動きを追っていきたいです。ただし、これによりラバー バンディングとスクロールが発生するため、デフォルトの動作をオフにする必要があります。

このサイトで説明されているように

https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

次のように、イベントリスナーを追加しました

document.addEventListener('touchmove', touchMove, false);
document.addEventListener('gesturechange', gestureChange, false);

そのように、デフォルトの動作を無効にしました

function touchMove(event){event.preventDefault(); //other code here}
function gestureChange(event){event.preventDefault(); //other code here}

これで、意図したとおりに実行できますが、ページを拡大縮小することはできなくなりました。touchstart 座標を取得し、gesturechange からズーム倍率を取得することはできます。論理的には、それらを使用してページのズームをプログラムで変更したいと思います。JavaScriptでそれを行う方法は?

4

1 に答える 1

0

これまでのところ、(ドキュメントではなく) div に eventlistener を適用することに成功し、ジェスチャ開始が検出されたらブール値を使用して touchmove 呼び出しをオフにしました。実際、これはかなりうまく機能します。ドキュメント全体をズーム、パン、ダブルタップし、div をズーム、ダブルタップできます。ただし、div のパンは関数を実行して座標を渡します (パンしません)。

于 2013-02-22T18:48:00.640 に答える