fix touch event wrong coordinates. pageX, pageY, clientX, clientY etc. (#35550)

Signed-off-by: kongbai1996 <1782765876@qq.com>
This commit is contained in:
Bi Fuguo 2025-02-21 14:01:02 +08:00 committed by GitHub
parent c6cb50c956
commit d4a8b3b38e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2031,10 +2031,12 @@ impl Document {
let target = DomRoot::upcast::<EventTarget>(el); let target = DomRoot::upcast::<EventTarget>(el);
let window = &*self.window; let window = &*self.window;
let client_x = Finite::wrap(event.point.x as f64); let client_x = Finite::wrap(hit_test_result.point_in_viewport.x as f64);
let client_y = Finite::wrap(event.point.y as f64); let client_y = Finite::wrap(hit_test_result.point_in_viewport.y as f64);
let page_x = Finite::wrap(event.point.x as f64 + window.PageXOffset() as f64); let page_x =
let page_y = Finite::wrap(event.point.y as f64 + window.PageYOffset() as f64); Finite::wrap(hit_test_result.point_in_viewport.x as f64 + window.PageXOffset() as f64);
let page_y =
Finite::wrap(hit_test_result.point_in_viewport.y as f64 + window.PageYOffset() as f64);
let touch = Touch::new( let touch = Touch::new(
window, identifier, &target, client_x, window, identifier, &target, client_x,