feat(view): adds event binding to view instantiation.

Only native non-bubbling events are supported by the commit.
This commit is contained in:
Rado Kirov
2015-01-12 11:50:54 -08:00
parent bccc863567
commit c5b0baf805
6 changed files with 75 additions and 7 deletions

View File

@ -33,7 +33,15 @@ class DOM {
return el.querySelectorAll(selector);
}
static on(element, event, callback) {
element.addEventListener(event, callback);
// due to https://code.google.com/p/dart/issues/detail?id=17406
// addEventListener misses zones so we use element.on.
element.on[event].listen(callback);
}
static dispatchEvent(el, evt) {
el.dispatchEvent(evt);
}
static createMouseEvent(eventType) {
return new MouseEvent(eventType, canBubble: true);
}
static getInnerHTML(el) {
return el.innerHtml;

View File

@ -24,6 +24,14 @@ export class DOM {
static on(el, evt, listener) {
el.addEventListener(evt, listener, false);
}
static dispatchEvent(el, evt) {
el.dispatchEvent(evt);
}
static createMouseEvent(eventType) {
var evt = new MouseEvent(eventType);
evt.initEvent(eventType, true, true);
return evt;
}
static getInnerHTML(el) {
return el.innerHTML;
}