位置: 编程技术 - 正文
推荐整理分享详解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可以一一对应,知道那个是那个,那么我们的自定义事件呢,这个一一对应的映射表只能我们自己去建立,然后我这样
我是这样构建这个映射关系的
这样每一个类型可以有多个处理函数,以便于我们以后扩充 接下来就是代码方面的实战的,编写具体的处理代码了…
相信大家对于这个思路已经很清楚了,我直接附上代码
这是一种调用运行的方法
这种方法有一个缺点,不能删除该处理事件,因为我们是用映射表做的,而且也不提倡,直接给映射表里面存这么多数据,有点多。
另一种方法,将处理事件提取出来(推荐)
也可以这样,传递更多的参数
总结:字面量这种方法,有点儿缺点,就是万一一不小心,把某个属性在handler函数里面,赋值null,这样会造成我们的的eventTarget 方法崩盘。看来原型应该是个好方法,更安全一点。
3.对象原型封装js自定义事件
由于前面思路基本都讲清楚了,这里我直接附上代码,大家可以研究下其中的利弊,或许你可以找到更好的方法解决Ta…
调用方法
原型这种方法,与直接量方法功能是一样的…
标签: js类的实现
本文链接地址:https://www.jiuchutong.com/biancheng/383739.html 转载请保留说明!下一篇:JS获取CSS样式(style/getComputedStyle/currentStyle)(javascript获取css)
友情链接: 武汉网站建设