# Events class

Base class that supports listening for and dispatching browser events.

Normally events are accessed via the Stream getter:

    element.onMouseOver.listen((e) => print('Mouse over!'));

To access bubbling events which are declared on one element, but may bubble up to another element type (common for MediaElement events):

    MediaElement.pauseEvent.forTarget(document.body).listen(...);

To useCapture on events:

    Element.keyDownEvent.forTarget(element, useCapture: true).listen(...);

Custom events can be declared as:

    class DataGenerator {
      static EventStreamProvider<Event> dataEvent =
          new EventStreamProvider('data');
    }

Then listeners should access the event with:

    DataGenerator.dataEvent.forTarget(element).listen(...);

Custom events can also be accessed as:

    element.on['some_event'].listen(...);

This approach is generally discouraged as it loses the event typing and some DOM events may have multiple platform-dependent event names under the covers. By using the standard Stream getters you will get the platform specific event name automatically.

Implementers
  - ElementEvents

## Constructors

Events(EventTarget _ptr)

## Properties

hashCode → int
  The hash code for this object. [...]
  read-only, inherited
runtimeType → Type
  A representation of the runtime type of the object.
  read-only, inherited

## Methods

noSuchMethod(Invocation invocation) → dynamic
  Invoked when a non-existent method or property is accessed. [...]
  inherited
toString() → String
  Returns a string representation of this object.
  inherited

## Operators

operator [](String type) → Stream<Event>
operator ==(dynamic other) → bool
  The equality operator. [...]
  inherited