2012-07-02 27 views

Trả lời

8

Bạn có thể sử dụng clientX hoặc Trang X, xem here

+11

vâng, tôi hiểu, cảm ơn bạn. Và tôi đã tìm ra cách để có được e.offsetX. e.offsetX = e.touches [0] .pageX - e.touches [0] .target.offsetLeft; e.offsetY = e.touches [0] .pageY - e.touches [0] .target.offsetTop; Tôi nghĩ nó giống như e.offsetX – EasonBlack

+1

Điều này không tính đến bất kỳ biến đổi nào trên phần tử, như xoay hoặc chia tỷ lệ, như offsetX. offsetX đưa ra các tọa độ trong hệ tọa độ cục bộ của phần tử, trước khi biến đổi, có vẻ như. – tremby

1

đã có vấn đề tương tự trên ràng buộc sự kiện handler sử dụng .on chức năng của jQuery trên canvas yếu tố (Không biết lý do).

Tôi đã giải quyết nó bằng trình xử lý sự kiện ràng buộc sử dụng addEventListener. Đối tượng event trong trình xử lý đã bù đắpX và bù đắp được xác định bằng các giá trị thích hợp.

Hy vọng nó sẽ giúp ...

+0

Bạn có thể đi vào chi tiết hơn không? – tremby

+0

@tremby Cụ thể bạn muốn biết điều gì? – Shubhansh

+0

Tôi chỉ không hiểu câu trả lời của bạn. Theo như tôi có thể nói các đối tượng 'Touch' không có' offsetX' và 'offsetY', ít nhất là theo đặc điểm kỹ thuật. Câu trả lời của bạn cho thấy rằng bạn nhận được chúng và tôi tự hỏi làm thế nào. – tremby

9

Câu trả lời chính xác dựa trên các chú thích trong câu trả lời gợi ý:

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

này bỏ qua bất kỳ biến đổi như phép quay hoặc mở rộng quy mô. Ngoài ra hãy chắc chắn để kiểm tra xem có bất kỳ chạm.

Các vấn đề liên quan