位置: 编程技术 - 正文

详解javascript实现自定义事件(js类的实现)

编辑:rootadmin

推荐整理分享详解javascript实现自定义事件(js类的实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascriptjs,javascript+,javascript详细介绍,javascript+,js的实现原理,javascript详细介绍,javascript+,js实例教程,内容如对您有帮助,希望把文章链接给更多的朋友!

我们平时在操作dom时候经常会用到onclick,onmouseover等一系列浏览器特定行为的事件, 那么自定义事件,顾名思义,就是自己定义事件类型,自己定义事件处理函数,在合适的时候需要哪个事件类型,就去调用哪个处理程序

1.js所支持的浏览器默认事件

浏览器特定行为的事件,或者叫系统事件,js默认事件等等都行,大家知道我指的什么就行,下文我叫他js默认事件。 js默认事件的事件绑定,事件移出等一系列操作,相信大家都有用到过,如:

又或者

所有我就不做过多的研究,毕竟我们来讨论js自定义事件,这里给出一个我之前封装过的处理js默认事件的代码:

接下类我们不如正题,js自定义事件

2.对象直接量封装js自定义事件

根据上面的封装,我们可以这样构思

相信这样大家还是比较好理解的,然后又有一个问题大家可以想到,那就是,js默认事件,js可以一一对应,知道那个是那个,那么我们的自定义事件呢,这个一一对应的映射表只能我们自己去建立,然后我这样

详解javascript实现自定义事件(js类的实现)

我是这样构建这个映射关系的

这样每一个类型可以有多个处理函数,以便于我们以后扩充 接下来就是代码方面的实战的,编写具体的处理代码了…

相信大家对于这个思路已经很清楚了,我直接附上代码

这是一种调用运行的方法

这种方法有一个缺点,不能删除该处理事件,因为我们是用映射表做的,而且也不提倡,直接给映射表里面存这么多数据,有点多。

另一种方法,将处理事件提取出来(推荐)

也可以这样,传递更多的参数

总结:字面量这种方法,有点儿缺点,就是万一一不小心,把某个属性在handler函数里面,赋值null,这样会造成我们的的eventTarget 方法崩盘。看来原型应该是个好方法,更安全一点。

3.对象原型封装js自定义事件

由于前面思路基本都讲清楚了,这里我直接附上代码,大家可以研究下其中的利弊,或许你可以找到更好的方法解决Ta…

调用方法

原型这种方法,与直接量方法功能是一样的…

标签: js类的实现

本文链接地址:https://www.jiuchutong.com/biancheng/383739.html 转载请保留说明!

上一篇:JS拖拽组件学习使用(js实现拖拽元素改编顺序)

下一篇:JS获取CSS样式(style/getComputedStyle/currentStyle)(javascript获取css)

  • 股东退股退本金及利润
  • 高温费国家有规定,一定要支付吗?
  • 小微企业所得税税率2.5% 10% 25%
  • 原材料月末有余额吗
  • 餐饮通用机打发票可以报销吗
  • 人员工资薪金所得税计算税款
  • 转让固定资产发生的费用可以税前扣除吗
  • 房产税从价计征的计税依据
  • 库存盘盈盘亏按进价还是售价
  • 6000万居间费如何避税
  • 主营业务收入冲销
  • 无形资产要入账吗
  • 固定资产的知识
  • 股权的溢价是什么意思
  • 一般纳税人可以开3%的发票吗
  • 办理金税盘需要多少钱
  • 财务会计中的费用
  • 用工和用人单位
  • 银行存款余额调节表保管期限
  • 财产转让所得个人所得税纳税地点
  • 凭证制单和审核可以是一个人吗
  • 劳务外包开票税目由所提供的服务性质来决定
  • 商品入库没有收到发票
  • 苹果手机移动到新手机
  • 印花税需要哪些部门核准
  • 结转到生产成本的科目
  • windows 11怎么用
  • DxDebugService.exe是什么进程 DxDebugService进程安全吗
  • 按揭贷款到账时间
  • 固定资产和固定资金的区别
  • php字符串赋值
  • 怎么将电脑硬盘做成移动硬盘
  • 仓储服务和不动产租赁
  • 技术转让所得的税收优惠
  • PHP基于SimpleXML生成和解析xml的方法示例
  • element动态变化表格列
  • 运输费属于燃料费用吗
  • 人工智能会影响经济发展吗
  • source命令怎么用
  • 房租费用计入什么现金流量
  • 小规模纳税人增值税税率
  • 企业福利费超过预算收入
  • php fgetc
  • 织梦怎么用模板建站
  • 关于DEDECMS移动data后网站地图无法生成的解决方法
  • 普通增值发票可以抵扣进项税吗
  • 印花税补交会怎样
  • 企业自产自用产品要确认收入吗
  • 触发器失败是什么意思
  • 知道收入不知道成本
  • 预付在建工程款的会计分录
  • 以前年度损益调整账务处理分录
  • 营改增对财务人员的影响
  • 机票开的个人的票是什么
  • 非流动性资产有
  • 对公账户与私人账户都是一级
  • 哪些福利费没有附加税
  • 房地产会计科目明细表
  • 明细分类账的填写
  • 锁mysql
  • sqlserver日志清理
  • sqlserver合并脚本工具
  • MySQL数据库常见的几种约束有哪些
  • win8.1语言包下载
  • win7运行老游戏方法
  • 验证win10
  • win8适用的pr
  • 在linux系统中拥有
  • threejs中文文档pdf
  • python num怎么用
  • shell脚本 -ne 0
  • html中滚动条
  • jquery html5 视频播放控制代码
  • node.js开发实战
  • javascript快速入门
  • 亲测源码论坛
  • 广东省电子税务局app下载手机版
  • 上海地铁发票可以随便要吗
  • 限售股转让如何交税
  • 开票系统功能
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设