Not really. I'm just trying to use the wheel; it's other people that have implemented it wrong.
Found a bodge. Basically create a DIV at 0,0 and then call its getClientBoundingRect() and measure the distance. Then the error cancels itself out. Phew.
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Collapse
You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:
- You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
- You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
- If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Logging in...
Previously on "HTML: Translating touch events to relative"
Collapse
-
I suspect you are trying to reinvent the wheel.
Try looking at a library:
Hammer.JS - Hammer.js
QuoJS
Daniel Glyde: TouchIt: jQuery Plugin for Touch events
Leave a comment:
-
HTML: Translating touch events to relative
This is one of those "I can't believe it's this hard" problems.
I need to translate a mouse press or touch on a web page to a div's local coordinates. Any sensible system would do this for you, but that's too simple for the folks behind the HTML standards. After a lot of faffing, I've come up with this (ignoring x for brevity):
If I have a DIV that starts 300 pixels down the page and I touch its top left, e.y = 300 and r.top is 300, and so it works. If the window is scrolled down so my div is at the top of the window then r.top is now 0 because it's offset by the scroll position (bizarrely - I don't know why anybody would think that's how it should be) which is why you also need to subtract the scroll position.Code:function onTouchStart( ev ) { e = new Object; e.y = ev.touches[0].pageY; // translate r = rootDiv.getBoundingClientRect(); e.y -= r.top; e.y -= window.scrollY; }
This is fine. Until I zoom in on Android (Chrome).
Once zoomed if I scroll so my div is at the top r now doesn't take into account the scroll position, so that r.top is 300 and scrollY is 300 and I therefore end up 300 pixels out.
So how the ***** am I meant to make that work? Is there some alternate strategy?
Any insights?Tags: None
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- Burnham's housing vision vs. Starmer's home-buying reforms: what it means for your contractor mortgage Yesterday 00:59
- In Khalil v Innovate Transport, a limited company contractor wasn’t a worker and was on £2.30 — not £230 Jul 21 07:58
- Andy Burnham is PM: 5 new IT policies set to shape UK tech and its contractors Jul 20 06:29
- Taxed on money I haven't earned yet? Bold move, HMRC Jul 17 08:36
- The Fair Work Agency has got zero hours in its sights. Do you? Jul 16 08:44
- Cookie Policy Jul 15 11:50
- Cloned again: an umbrella company founder's warning on fraud, JSL and Companies House Jul 15 07:47
- How is JSL bedding in for contractor umbrella companies, 100 days in? Jul 14 07:45
- IT contractor demand cools in June 2026 amid UK heatwave Jul 13 08:18
- How could zero hours contract reform create unexpected problems for contractors? Jul 8 06:40

Leave a comment: