mouse-event

1.0.5 • Public • Published

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.

  • event is a mouse event

Returns A bit vector with the following interpretation for the flags:

  • 1 - left mouse
  • 2 - right mouse
  • 4 - middle mouse
  • 8 - button 4
  • 16 - button 5
  • ...
  • 1<<k - button k+1

mouse.x(event)

Returns the relative x-coordinate of the mouse event

  • event is a 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

  • event is a 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.

  • event is a mouse event

Returns The target or srcElement or whatever it was that triggered the event

License

(c) 2015 Mikola Lysenko. MIT License

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i mouse-event

      Weekly Downloads

      213,048

      Version

      1.0.5

      License

      MIT

      Last publish

      Collaborators

      • mikolalysenko