mouse-event-offset
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/mouse-event-offset package

3.0.2 • Public • Published

mouse-event-offset

stable

Computes the [ offsetX, offsetY ] from a mouse or touch event, relative to the top left of the target element.

var offset = require('mouse-event-offset')
 
window.addEventListener('touchstart', function (ev) {
  var target = ev.currentTarget
  var touch = ev.changedTouches[0]
  var pos = offset(touch, target)
  //=> [ 128, 52 ]
})

Usage

position = offset(event, [target], [out])

Pass a MouseEvent or TouchEvent as event.

Optionally, you can specify a target element which the touch event should be relative to. Defaults to event.currentTarget, falling back to event.srcElement for older IE.

You can also specifiy out to store the position in that array, and avoid creating a new one.

Changelog

  • 3.x new version; simpler API, less assumptions, avoids GC thrashing
  • 2.x uses ev.currentTarget instead of ev.target
  • 1.x simple implementation using ev.target || ev.srcElement

License

MIT, see LICENSE.md for details.

Package Sidebar

Install

npm i mouse-event-offset

Weekly Downloads

188,863

Version

3.0.2

License

MIT

Last publish

Collaborators

  • mattdesl