16

iPadで試したところ、e.touches[0]にoffsetXがありませんでした。このoffsetXの値をどこで取得できるか知っている人はいますか?

4

5 に答える 5

18

提案された回答のコメントに基づく正解:

e.offsetX = e.touches[0].pageX - e.touches[0].target.offsetLeft;     
e.offsetY = e.touches[0].pageY - e.touches[0].target.offsetTop;

これは、回転やスケーリングなどの変換を無視します。また、接触がないかどうかも確認してください。

于 2016-09-12T10:18:44.707 に答える
10

clientX または pageX を使用できます。こちらを参照してください

于 2012-07-02T05:26:13.970 に答える
2

ページ - オフセット / クライアントのアプローチはうまくいきませんでした。まだオフセットがありました。完全に機能するこの他のソリューションを見つけました:

let r = canvas.getBoundingClientRect();

let x = e.touches[0].pageX - r.left;
let y = e.touches[0].pageY - r.top;

于 2019-06-02T14:00:31.577 に答える