1
我正在使用Angular2和angular2的devextreme。我試圖從他們的網站上的一個問題,其要求的事件處理程序附加到html元素添加一些功能Angular2動態附加DOM事件
$('html').on('dxclick', function(event) {
console.log('DxClick - Clicked');
});
在angular2這會讓人不悅顯然是,所以我試圖找出如何正確地做到這一點。我嘗試了以下內容:異常
public ngAfterViewInit() {
let htmlElement: any = this.elementRef.nativeElement;
while (htmlElement && htmlElement.localName !== 'html') {
htmlElement = htmlElement.parentNode;
}
if (htmlElement) {
this.eventManager.addEventListener(htmlElement, 'dxclick', function (event: any) {
console.log('DxClick Clicked');
});
}
}
這個代碼是找到html元素和成功執行的addEventListener
constructor(@Inject(EventManager) private eventManager: EventManager) {
this.eventManager.addGlobalEventListener('html', 'dxclick', function(event: any) {
console.log('DxClick Clicked');
});
}
這只是原因和「未定義無法讀取屬性‘的addEventListener’」,然而回調函數從不執行。
是否有可能重現jQuery代碼,如果有的話,我錯過了什麼。
這也會導致和「無法讀取屬性'addEventListener'未定義的」異常。我認爲html不是HostListener的有效目標 – ciantrius