我正在尝试删除侦听器定义中的事件侦听器:
canvas.addEventListener('click', function(event) {
click++;
if(click == 50) {
// remove this event listener here!
}
// More code here ...
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?这=事件......谢谢.
在angular2应用程序上工作。我有RxJS计时器实例,该实例将在登录时向用户推送通知。但是,如果选项卡未处于活动状态,则不应推送通知,则调度程序应暂停/停止。也完成了。
但是主要的是,我已经将该窗口(焦点,模糊)事件侦听器添加到ngOnInit()中。当我们更改页面/组件时,我尝试在ngOnDestroy()上销毁它,但它也不会停止。当我们回到同一页面时,该侦听器的第二个实例也开始运行,现在我的内存/作用域中将有2个调度程序实例。
因此,任何人都知道如何在ngOnDestroy或任何其他地方删除/销毁window.listener !
码:
timerFlag: boolean = true;
private timer;
private sub: Subscription;
ngOnInit() {
this.sub = null;
this.timer = null;
console.log("home-init");
window.addEventListener('blur', this.disableTimer.bind(this), false);
window.addEventListener('focus', this.initializeTimer.bind(this), false);
}
disableTimer() {
if (this.sub !== undefined && this.sub != null) {
this.sub.unsubscribe();
this.timer = null;
}
}
initializeTimer() {
if (this.timerFlag) {
if (this.timer == null) {
this.timer = Observable.timer(2000, 5000);
this.sub = this.timer.subscribe(t => this.runMe()); …Run Code Online (Sandbox Code Playgroud) 当焦点更改为其他内容时,如何防止关闭x-editable输入框的默认行为?
我的要求是保持输入框打开,直到点击勾选或交叉按钮.
我正在寻找迭代对象getEventListeners(obj)返回的方法.这样,我就不需要特定的代码来迭代事件监听器类型,或者检查它们是否存在于checked元素上.我的目标是从元素中删除一些事件侦听器.例如,删除所有鼠标相关的,并保留其他.
谢谢