我遇到了cordova RemoteControl plugin,要监听其事件,需要注册addEventListener。
//listen for the event
document.addEventListener("remote-event", function(event) {
//do something
});
这对我来说是否适合这样做?
答案 0 :(得分:11)
尝试以下步骤使用角度2添加事件侦听器。我不确定" remote-event"事件,但"点击"事件对我来说很好,如下所示。
import { ElementRef, Renderer } from '@angular/core';
constructor(public el: ElementRef, public renderer: Renderer) {
renderer.listenGlobal('document', 'click', (event) => {
// Do something with 'event'
});
}
根据@paqogomez的评论。
Renderer
已重命名为Renderer2
,listenGlobal
已重命名为listen
。
答案 1 :(得分:1)
这对我来说就像魔术一样
document.querySelector('#videostop').addEventListener('click', () => {
//function here
console.log('your result');
});
答案 2 :(得分:0)
您可以将EventListener添加到构造函数中
constructor() {
document.addEventListener("remote-event", function(event) {
//do something
},false);
}
答案 3 :(得分:0)
您可以使用@HostListener这是更好的解决方案 https://juristr.com/blog/2016/09/ng2-event-registration-document/ 如果您想对angular应用程序使用document.someMethod,也可以在构造函数中注入文档:
import { DOCUMENT } from '@angular/common';
@Inject(DOCUMENT) private _document: any
答案 4 :(得分:0)
我更喜欢使用@HostListener
:
@HostListener('document:remote-event', ['$event'])
onDocumentRemoteEvent(ev: any) {
// handle the event here
}