Unfortunately, it appears my question did not include enough details to include the actual problem - the tablet I could test on can not access the internet, so I could not provide a JSFiddle to demonstrate the problem.
So the problem was that I'm using Angular, which uses a form of jQuery, which wraps events. Usually, this is great: instead of having to detect the particular implementation details of the current browser regarding an event object, jQuery sets the pageX
and pageY
properties of the wrapper event object itself, so that you can always confidently access those properties.
However: jQuery, at least in the version I'm using (1.10.2), does not yet know how to deal with MSPointer
events (or pointer
events, used in IE11, for that matter). Thus, although I had a wrapper event object, there were no pageX
and pageY
properties.
The workaround is to access event.originalEvent
, i.e. the browser-specific event. Since this spec looks to be implemented by IE only anyway, it should be relatively safe to assume this object to be constructed the way IE constructs it, and access the pageX
and pageY
properties on that directly.