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.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/2.0.0/dart-html/Events-class.html