位置: 编程技术 - 正文

详解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)

  • 资源税改革是什么意思
  • 小微企业企业所得税税率变化
  • 交易性金融资产和其他权益工具投资的区别
  • 纺织品产量
  • 企业的承兑汇票贴息很高说明什么
  • 个税所得税清缴
  • 独立账户负债核算内容
  • 社保基金会割肉操作吗
  • 审计范围包括什么内容
  • 资产收益权转让产品
  • 摊销房租账务处理
  • 购买固定资产未收到发票怎么办
  • 个人销售货物缴纳增值税吗
  • 发票离线限额什么意思
  • 会计准则一般选择哪个
  • 季度利润表上期金额怎么填
  • 既加工又有安装费的公司
  • 材料成本差异率要算发出材料吗
  • 土地增值税清算方法与技巧
  • 销售商品会计分录怎么写
  • 银行贷款入公账怎么入分录?
  • 超出经营范围开发票
  • 进项税额转出月底如何结转
  • 应交税金月底可以有余额吗
  • 不要运行指定的Windows应用程序怎么设置win10教程
  • 交易性金融资产入账价值怎么计算
  • 企业支付宝给别人有什么用
  • exedown是什么文件夹
  • 营改增会计分录
  • 企业向银行贷款要交印花税吗
  • php表单的作用是什么
  • 营改增后土增税收入
  • php的file函数
  • 用php做计算
  • 固定资产报废后的处理程序
  • 360路由器怎么连接网络
  • 扣缴义务人应扣未扣如何处罚
  • 前端控制台
  • 浅水滩怎么样
  • 公司注册认缴的期限一般是多少
  • vue display
  • vue该怎么学
  • pytorch训练函数
  • 网站更换域名后无法访问
  • 视同销售的情况有哪些?
  • 红字发票信息表填好后再怎么操作
  • 注册劳务派遣公司需要验资吗
  • dict在python中的作用
  • 挂靠车辆进项税额是否可以抵扣
  • 按工资申报的工龄怎么算
  • 预付卡发票如何开
  • sqlserver时间格式化时分秒
  • 企业设置辅助账户的作用
  • 有形动产租赁服务的增值税税率
  • 房地产开发公司注册资金要求
  • 收到工程款时会计分录
  • 公司地址的变更需要哪些资料和手续
  • 控制企业的5种方式
  • 个人所得税手续费返还政策文件
  • 一次性支付意思
  • 买车的车
  • 采购业务 货物收到 发票收到
  • 有偿服务职工怎么办
  • 为什么要用支票取钱
  • 如何清除sql2008r2日志
  • 分类不同
  • 最全的sql执行顺序
  • sql2008开启远程连接
  • sqlserver 触发器 redis
  • SQLserver导入Excel文件到表
  • mysql的用处
  • centos获取权限
  • win7任务栏显示预览窗口
  • bootstrap表单模板
  • 苹果手机如何给视频添加字幕
  • unity3d技术介绍
  • shell常用命令及功能
  • android检测权限是否开启
  • ug10避让怎么设置
  • 江苏省国税客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设