events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/) (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible) This should work very similarly to jQuery's events, however it's based off the book version which isn't as robust as jquery's, so there's probably some differences.

Members

inner _supportsPassive

Whether passive event listeners are supported

inner, constant passiveEvents

Touch events Chrome expects to be passive

Methods

static fixEvent(event) → {Object}

Fix a native event to have standard property values

Parameters:
Name Type Description
event Object

Event object to fix.

Returns:
Object -

Fixed event object.

static off(elem, typeopt, fnopt)

Removes event listeners from an element

Parameters:
Name Type Attributes Description
elem Element | Object

Object to remove listeners from.

type string | Array.<string> <optional>

Type of listener to remove. Don't include to remove all events from element.

fn EventTarget~EventListener <optional>

Specific listener to remove. Don't include to remove listeners for an event type.

static on(elem, type, fn)

Add an event listener to element It stores the handler function in a separate cache object and adds a generic handler to the element's event, along with a unique id (guid) to the element.

Parameters:
Name Type Description
elem Element | Object

Element or object to bind listeners to

type string | Array.<string>

Type of event to bind to.

fn EventTarget~EventListener

Event listener.

static one(elem, type, fn)

Trigger a listener only once for an event

Parameters:
Name Type Description
elem Element | Object

Element or object to bind to.

type string | Array.<string>

Name/type of event

fn Event~EventListener

Event Listener function

static trigger(elem, event, hashopt) → {boolean|undefined}

Trigger an event for an element

Parameters:
Name Type Attributes Description
elem Element | Object

Element to trigger an event on

event EventTarget~Event | string

A string (the type) or an event object with a type attribute

hash Object <optional>

data hash to pass along with the event

Returns:
boolean | undefined -
  • Returns the opposite of defaultPrevented if default was prevented
      - Otherwise returns undefined

inner _cleanUpEvents(elem, type)

Clean up the listener cache and dispatchers

Parameters:
Name Type Description
elem Element | Object

Element to clean up

type string

Type of event to clean up

inner _handleMultipleEvents(fn, elem, type, callback)

Loops through an array of event types and calls the requested method for each type.

Parameters:
Name Type Description
fn function

The event method we want to use.

elem Element | Object

Element or object to bind listeners to

type string

Type of event to bind to.

callback EventTarget~EventListener

Event listener.