mouse-event
Provides a normalized, cross-browser, garbage-collection-free API for reading out the state of a mouse event.
Why is this needed?
Because it is 2015 and somehow every major browser still disagrees on even the most basic details of MouseEvents. Seriously guys.
Example
var mouse = require('mouse-event')
window.addEventListener('mousemove', function(ev) {
document.body.innerHTML =
'<p>Buttons: ' + mouse.buttons(ev) +
' x:' + mouse.x(ev) +
' y:' + mouse.y(ev) + '</p>'
})
Try this in your browser
Install
npm i mouse-event
API
var mouse = require('mouse-event')
mouse.buttons(event)
Returns a bit vector, similar to event.which
in WebKit encoding the state of the mouse buttons.
Returns A bit vector with the following interpretation for the flags:
1
- left mouse2
- right mouse4
- middle mouse8
- button 416
- button 5- ...
1<<k
- button k+1
mouse.x(event)
Returns the relative x-coordinate of the mouse event
Returns The relative x-coordinate of event
, similar to event.x
in WebKit
mouse.y(event)
Returns the relative y-coordinate of the mouse event
Returns The relative y-coordinate of event
, similar to event.y
in WebKit
mouse.element(event)
Get the element which triggered the event.
Returns The target
or srcElement
or whatever it was that triggered the event
License
(c) 2015 Mikola Lysenko. MIT License