相关疑难解决方法(0)

JavaScript:删除事件侦听器

我正在尝试删除侦听器定义中的事件侦听器:

canvas.addEventListener('click', function(event) {
    click++;
    if(click == 50) {
        // remove this event listener here!
    }
// More code here ...
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?这=事件......谢谢.

javascript events event-handling listener

118
推荐指数
7
解决办法
20万
查看次数

删除或销毁事件监听器

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)

javascript event-listener addeventlistener angular

3
推荐指数
1
解决办法
6335
查看次数

X-editable防止焦点输出框的默认行为关闭

当焦点更改为其他内容时,如何防止关闭x-editable输入框的默认行为?

我的要求是保持输入框打开,直到点击勾选或交叉按钮.

javascript jquery x-editable

2
推荐指数
1
解决办法
1346
查看次数

迭代getEventListeners()返回对象

我正在寻找迭代对象getEventListeners(obj)返回的方法.这样,我就不需要特定的代码来迭代事件监听器类型,或者检查它们是否存在于checked元素上.我的目标是从元素中删除一些事件侦听器.例如,删除所有鼠标相关的,并保留其他.

谢谢

javascript javascript-events

2
推荐指数
2
解决办法
4256
查看次数