首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在触发一次或任意次数之后删除事件侦听器

在触发一次或任意次数之后删除事件侦听器
EN

Code Review用户
提问于 2012-01-05 19:03:26
回答 1查看 6K关注 0票数 5

在触发一次或任意次数之后删除事件侦听器

这就是我所拥有的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*jslint browser: true, vars: true, white: true, maxerr: 50, indent: 4 */
(function ()
{
    "use strict";

    function removeEventListenerAfterFiring(numberOfTimes, callback, useCapture)
    {
        var count = 0;
        return function listener(event)
        {
            count += 1;

            if (count >= numberOfTimes)
            {
                event.target.removeEventListener(event.type, listener, useCapture);
            }

            callback();
        };
    }

    function functionName()
    {
        // Code here.
    }

    window.addEventListener("DOMContentLoaded", removeEventListenerAfterFiring(1, functionName, false), false);
}());

有什么可以改进的吗?还是有更好的方法来做到这一点?

两次指定useCapture是否可以接受?是否有一种方法来检测是否指定了useCapture,使我不必将它传递给removeEventListenerAfterFiring函数?

EN

回答 1

Code Review用户

发布于 2016-08-12 23:08:21

考虑使用event.currentTarget而不是event.target,因为您的处理程序可能绑定到一个祖先元素,而不是当前元素。

票数 1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/7515

复制
相关文章
wxpython 编程触发菜单或按钮事件
最近逐步熟悉wxpython,编写了几个小小功能的GUI程序,GUI中免不了会有在代码中触发控件事件的业务需求。在其他Gui界面的语言中有postevent、triggerevent 调用事件名称的函数,非常方便。
黯然销魂掌
2018/09/27
2.4K0
不使用jquery只执行一次事件侦听器函数
我制作了一段代码,用箭头上下垂直移动6个项目前面的元素.当按下enter时,我将加载一组带有该项目的图像.代码工作正常,但在输入命中后,这段代码需要停止,所以我可以用箭头键做其他事情并输入.现在它只是在输入被击中后继续前进.我尝试使用var检查,但是我似乎无法从交换机内部更改变量.有人知道如何使这项工作?
很酷的站长
2023/12/05
1880
不使用jquery只执行一次事件侦听器函数
微信小程序返回携带参数或触发事件
let pages = getCurrentPages(); let prevPage = pages[pages.length - 2] prevPage.active() //调用上个页面的事件 prevPage.setData({ //setData给上个页面的data进行赋值 select:1 }) wx.navigateBack({ delta: 1 })
明知山
2021/06/21
6110
Jenkins触发构建--事件触发
事件触发就是发生了某个事件就触发pipeline执行,这个事件可以是你能想到的任何事件,比如手动在界面上触发、其它job主动触发、HTTP API Webhook触发等。
陈不成i
2021/06/02
5.9K0
微软被曝在2013年曾遭遇过一次数据泄露事件
就在昨日,五名微软公司的前任员工在接受路透社的采访时表示,微软的漏洞报告数据在2013年时曾遭到过一次非法入侵,但这一事件在当时并没有被曝光出来。 微软的前雇员表示,微软公司用了一个多月的时间修复了被入侵数据库中罗列的所有安全漏洞,因此泄露出去的漏洞信息并不会对Windows产品的用户造成多大的影响。微软公司当时还曾聘请过第三方公司来对此次事件进行调查,以了解网络上是否有攻击者利用泄露的漏洞信息来发动攻击,但该公司并没有发现任何与相关漏洞有联系的攻击事件。 始作俑者是一个名叫Wild Neutron的A
FB客服
2018/02/27
7520
微软被曝在2013年曾遭遇过一次数据泄露事件
记一次数据库删表事件
目前我司正处于一种混乱的开发环境中; 对于数据库字段增修都是开发人员直上服务器数据库修改(我多次强调); 我未入职前,是直接通过SFTP连接服务器,对项目进行开发和修改(话说造成代码覆盖都不知道是谁干的,多次建议开发使用Git); 虽然对开发规范有所改变,但还是因为不可抗力因素无法执行,也是造成我最近想跳槽的原因;
高久峰
2023/09/18
1980
代码触发,手动触发touchstart事件,touch事件,click事件,自定义事件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/150775.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/06
4.9K0
记一次数据库删表事件
目前我司正处于一种混乱的开发环境中; 对于数据库字段增修都是开发人员直上服务器数据库修改(我多次强调); 我未入职前,是直接通过SFTP连接服务器,对项目进行开发和修改(话说造成代码覆盖都不知道是谁干的,多次建议开发使用Git); 入职后我写一个开发规范文档:软件开发手册(欢迎各位大佬提出意见) 虽然对开发规范有所改变,但还是因为不可抗力因素无法执行,也是造成我最近想跳槽的原因;
陈大剩博客
2023/03/22
2300
程序化的事件侦听器
也就是说,在其中一个页面中我们使用uni.on或者uni.once,在另一个页面中就可以使用uni.emit进行调用,前提是uni,on或者uni.
阿超
2022/08/17
1.4K0
程序化的事件侦听器
onbeforeunload事件_pageload事件何时触发
注意:为了防止不需要的弹出窗口,浏览器可能不会显示在beforeunload事件处理程序中创建的提示,除非页面已与之交互,甚至根本不显示它们。
全栈程序员站长
2022/11/03
3K0
aos 事件触发失败
项目中遇到这个问题,网页往下滑动时加载 aos 事件触发不了,原因也很简单,因为 aos.js 是在页面加载时获取页面高度从而绑定一些事件进去,但是如果这个文件加载速度比框架加载的快,会导致两者高度不一致,从而动画效果触发失败。
子舒
2023/08/23
3620
js触发全屏事件
让用户端JS触发指的就是让用JS监听用户的操作事件,通过JS程序去实现F11全屏。这个事件可以是一个按钮的点击事件,当然也可以是键盘事件,比如用户按下F11。     1.F11键盘事件触发   当用户按下F11事件,浏览器为触发自身全屏功能,这个过程我们一般是不可控制的,即使是监听了F11的键盘事件,退出全屏的时候,我们也捕捉不到退出全屏触发的事件。所以,我们就用程序自己去实现F11的功能,首先需要禁用浏览器默认的事件动作。
山河木马
2019/03/05
16K0
任意位置删除节点
删除任意位置节点和添加任意位置节点其实差不多,都是要先找到n-1的位置,然后进行下一步的操作。 唯一有区别的是,需要用断开链接之后,需要用free把节点在堆上的内存清理掉。
用户7272142
2023/10/11
1380
任意位置删除节点
聊聊 Milvus GC:从一次数据丢失事件展开
令人震惊的数据丢失事件就这样发生了,一位来自 BOSS 直聘的 AI 研发工程师无意卷入到此次的风波中,他和 Milvus 社区的伙伴经过层层排查、抽丝剥茧,成功找出了问题所在——GC。
Zilliz RDS
2023/08/26
5250
聊聊 Milvus GC:从一次数据丢失事件展开
WPF 已知问题 开启 IsManipulationEnabled 之后触摸长按 RepeatButton 不会触发连续的 Click 事件
本文记录 WPF 的一个已知问题,在 RepeatButton 上开启 IsManipulationEnabled 漫游支持之后,将会导致触摸长按到 RepeatButton 之上时,不会收到源源不断的 Click 事件
林德熙
2024/02/07
1910
jenkins自动触发构建_触发器定时删除
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 jenkins的定时任务是用的crontab语法
全栈程序员站长
2022/09/19
1.5K0
jenkins自动触发构建_触发器定时删除
[gitlab] 分支删除触发 gitlab CI
使用 environment , 在 gitlab branch 被删除的时候,触发 CI
老麦
2022/12/24
6780
[gitlab] 分支删除触发 gitlab CI
spreadTrading模块事件触发机制
本文主要介绍了价差交易模块的事件触发机制。感谢‘次第花开’和‘用户名呀’在维恩的派论坛里的分享!
用Python的交易员
2018/07/26
2.5K0
spreadTrading模块事件触发机制
js 手动触发input事件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138867.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
10.7K0
探索 Flutter 模拟事件触发
如果可以模拟 PointerEvent 进行分发,那么在应用中就可以通过 代码 来触发手势事件,这样就能解放双手。如果结合语音监听,通过代码处理,说话也能触发手势操作,岂不美哉。 作为探索完 手势机制 和 滑动机制 ,又有完成这两本小册的我,感觉这个问题应该可解。下面就将整个问题的解决过程进行梳理,带大家再认识一下手势底层的相关实现。
张风捷特烈
2022/03/18
2.8K0
探索 Flutter 模拟事件触发

相似问题

从侦听器中删除相同的事件

10

事件-侦听器实现

10

在加载窗口时添加事件侦听器

10

使用纯JavaScript添加和删除事件侦听器的节流实现

10

洗牌任意列表或序列

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文