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
`utils/events.js`, `line 208`

  Whether passive event listeners are supported

#### inner, constant passiveEvents
`utils/events.js`, `line 227`

  Touch events Chrome expects to be passive

### Methods

#### static fixEvent(event) → {Object}
`utils/events.js`, `line 86`

  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)
`utils/events.js`, `line 329`

  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)
`utils/events.js`, `line 247`

  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)
`utils/events.js`, `line 460`

  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}
`utils/events.js`, `line 401`

  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)
`utils/events.js`, `line 25`

  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)
`utils/events.js`, `line 70`

  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.