dom-mousemove-dispatcher

WebJar for dom-mousemove-dispatcher

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

dom-mousemove-dispatcher
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

dom-mousemove-dispatcher
WebJar for dom-mousemove-dispatcher
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/hollowdoor/dom_mousemove_dispatcher

Download dom-mousemove-dispatcher

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/dom-mousemove-dispatcher/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>dom-mousemove-dispatcher</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/dom-mousemove-dispatcher/
implementation 'org.webjars.npm:dom-mousemove-dispatcher:1.0.1'
// https://jarcasting.com/artifacts/org.webjars.npm/dom-mousemove-dispatcher/
implementation ("org.webjars.npm:dom-mousemove-dispatcher:1.0.1")
'org.webjars.npm:dom-mousemove-dispatcher:jar:1.0.1'
<dependency org="org.webjars.npm" name="dom-mousemove-dispatcher" rev="1.0.1">
  <artifact name="dom-mousemove-dispatcher" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='dom-mousemove-dispatcher', version='1.0.1')
)
libraryDependencies += "org.webjars.npm" % "dom-mousemove-dispatcher" % "1.0.1"
[org.webjars.npm/dom-mousemove-dispatcher "1.0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Install

npm install --save dom-mousemove-dispatcher

Use rollup, browserify, or some other compiler to use this library.

Example

import mouseMoveDispatcher from 'dom-mousemove-dispatcher';

const dispatcher = mouseMoveDispatcher(window);

let div = document.querySelector('div')

div.addEventListener('mousemove', (e)=>{
    //This event might have been dispatched by the dispatcher.
    console.log(
        'mouse moving dispatched = ',e.dispatched,
        ' event =', e,
        ' data =', e.data
    );
});

div.addEventListener('mousemove', (e)=>{
    if(e.data === 'myEvent'){
        //The event was dispatched from this listener.
        //To prevent infinite recursion don't refire until the next turn in the event loop.
        e.stopPropagation();
        return;
    }
    //Re-dispatch this event.
    dispatcher.dispatch(div, e, 'myEvent');
});

//Dispatch an event with a clientX property.
setTimeout(()=>dispatcher.dispatch(div, {clientX: 500}), 1000);

The Event Object

The event object you get from firing a mousemove with dom-mousemove-dispatcher has additional properties set on it. These are:

  • event.dispatched = "mousemove"
  • event.data = Your data

mouseMoveDispatcher(object) -> dispatcher

Create a mousemove dispatcher that uses object to set the default properties on move.

object can be anything that can have mousemove set through it's addEventListener method (window, body, p, div, ...).

dispatcher.dispatch(element, eventProps, data|undefined) -> cancelled

Dispatch a mousemove event.

element is the DOM element you wish to fire the mousemove on.

eventProps are the properties you want to add to the event.

The optional data parameter is an arbitrary javascript value that will be set on a data property on the mousemove event object.

dispatcher.destroy() -> undefined

Cleanup the dispatcher object events, and properties.

About

dom-mousemove-dispatcher is a ponyfill for mousemove event dispatch that is optimized for quick firing of mousemove.

Please report any bugs you find.

Versions

Version
1.0.1