Options
All
  • Public
  • Public/Protected
  • All
Menu
classdesc

A simple mouse handler for demos. Use to avoid load massive libraries like jQuery.

requires

XYCoords

Hierarchy

  • MouseHandler

Index

Constructors

constructor

  • new MouseHandler(element: HTMLElement | SVGElement, name?: string): MouseHandler
  • The constructor.

    Pass the DOM element you want to receive mouse events from.

    Usage

    example

    // Javascript new MouseHandler( document.getElementById('mycanvas') ) .drag( function(e) { console.log( 'Mouse dragged: ' + JSON.stringify(e) ); if( e.params.leftMouse ) ; else if( e.params.rightMouse ) ; } ) .move( function(e) { console.log( 'Mouse moved: ' + JSON.stringify(e.params) ); } ) .up( function(e) { console.log( 'Mouse up. Was dragged?', e.params.wasDragged ); } ) .down( function(e) { console.log( 'Mouse down.' ); } ) .click( function(e) { console.log( 'Click.' ); } ) .wheel( function(e) { console.log( 'Wheel. delta='+e.deltaY ); } )

    example

    // Typescript new MouseHandler( document.getElementById('mycanvas') ) .drag( (e:XMouseEvent) => { console.log( 'Mouse dragged: ' + JSON.stringify(e) ); if( e.params.leftMouse ) ; else if( e.params.rightMouse ) ; } ) .move( (e:XMouseEvent) => { console.log( 'Mouse moved: ' + JSON.stringify(e.params) ); } ) .up( (e:XMouseEvent) => { console.log( 'Mouse up. Was dragged?', e.params.wasDragged ); } ) .down( (e:XMouseEvent) => { console.log( 'Mouse down.' ); } ) .click( (e:XMouseEvent) => { console.log( 'Click.' ); } ) .wheel( (e:XWheelEvent) => { console.log( 'Wheel. delta='+e.deltaY ); } )

    instance
    memberof

    MouseHandler

    Parameters

    • element: HTMLElement | SVGElement
    • Optional name: string

    Returns MouseHandler

Properties

Private element

element: HTMLElement | SVGElement

Private handlers

handlers: Record<string, XMouseCallback>

Private installed

installed: Record<string, boolean>

Private listeners

listeners: Record<string, XMouseCallback>

Private mouseButton

mouseButton: number = -1

Private mouseDownPos

mouseDownPos: { x: number; y: number } | undefined = undefined

Private mouseDragPos

mouseDragPos: { x: number; y: number } | undefined = undefined

Private name

name: string | undefined

Methods

click

  • Installer function to listen for a specific event: mouse-click. Pass your callbacks here.

    Note: this support chaining.

    name

    click

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

Private destroy

  • destroy(): void
  • Call this when your work is done.

    The function will un-install all event listeners.

    name

    destroy

    memberof

    MouseHandler

    instance

    Returns void

down

  • Installer function to listen for a specific event: mouse-down. Pass your callbacks here.

    Note: this support chaining.

    name

    down

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

drag

  • Installer function to listen for a specific event: mouse-drag. Pass your callbacks here.

    Note: this support chaining.

    name

    drag

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

Private listenFor

  • listenFor(eventName: string): void
  • Install a new listener. Please note that this mouse handler can only handle one listener per event type.

    name

    listenFor

    memberof

    MouseHandler

    instance

    Parameters

    • eventName: string

      The name of the firing event to listen for.

    Returns void

Private mkParams

  • Build the extended event params.

    name

    mkParams

    memberof

    MouseHandler

    instance

    Parameters

    • event: MouseEvent

      The mouse event to get the relative position for.

    • eventName: string

      The name of the firing event.

    Returns XMouseEvent

move

  • Installer function to listen for a specific event: mouse-move. Pass your callbacks here.

    Note: this support chaining.

    name

    move

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

Private relPos

  • Get relative position from the given MouseEvent.

    name

    relPos

    memberof

    MouseHandler

    instance

    Parameters

    • e: MouseEvent

      The mouse event to get the relative position for.

    Returns XYCoords

    The relative mouse coordinates.

Private throwAlreadyInstalled

  • throwAlreadyInstalled(name: string): void
  • An internal function to throw events.

    name

    throwAlreadyInstalled

    memberof

    MouseHandler

    instance

    Parameters

    • name: string

      The name of the event.

    Returns void

Private unlistenFor

  • unlistenFor(eventName: string): void
  • Un-install a new listener.

    name

    listenFor

    memberof

    MouseHandler

    instance

    Parameters

    • eventName: string

      The name of the firing event to unlisten for.

    Returns void

up

  • Installer function to listen for a specific event: mouse-up. Pass your callbacks here.

    Note: this support chaining.

    name

    up

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

wheel

  • Installer function to listen for a specific event: mouse-wheel. Pass your callbacks here.

    Note: this support chaining.

    name

    wheel

    memberof

    MouseHandler

    instance

    Parameters

    Returns MouseHandler

    this

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Private property
  • Private method
  • Static property
  • Static method

Generated using TypeDoc