怎么用javascript实现自定义事件功能


这篇文章主要介绍“怎么用javascript实现自定义事件功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用javascript实现自定义事件功能”文章能帮助大家解决问题。概述自定义事件很难派上用场?为什么自定义事件很难派上用场,因为以前js不是模块化开发,也很少协作。因为事件本质是一种通信方式,是一种消息,只有存在多个对象,多个模块的情况下,才有可能需要用到事件进行通信。而现在有了模块化之后,已经可以使用自定义事件进行各模块间协作了。哪里用得到自定义事件?事件本质是一种消息,事件模式本质上是观察者模式的实现,那么用得上观察者模式的地方,自然也可以也可以用上事件模式。所以,如果:1、一个目标对象改变,需要多个观察者调整自身的。比如:我需要元素A点击之后,元素B显示鼠标的位置,元素C显示提示,元素D…..2、分模块协作需要解耦的比如:甲负责模块A,乙负责模块B,模块B需要A运行完之后才能运行传统的写法将逻辑写在一个方法里面:这样做每次扩展都要修改a的点击函数,不好扩展。自定义事件的写法可以看到,elem通过dispatchEvent方法触发的事件,只有elem上注册的监听器才能监听得到。这就很没意思了,自己发给自己消息,通知自己去干什么。创建自定义事件可参考: MDN : Creating_and_triggering_events应用从前面 js 自定义事件 的描述中知道:元素A通过dispatchEvent方法触发的事件,只有A上注册的监听器才能监听得到。我们想要的效果是,别的对象干了某件事之后, 发个消息给我们,好让我们能做相应的改变。要做到这样,也不是没办法:我们可以在一个公共对象上监听和触发事件,这就很有意义了。例子一:通知多个对象要实现 元素A点击之后,元素B显示鼠标的位置,元素C显示提示,可以这样写:文件:a.js注意:import进来的变量虽然不使用,但是一定不能省略文件b.js:文件c.js:这样写,三个模块之间完全不用关心对象,也不知道对方存在,耦合度非常的低,完全可以独立编写,不会互相影响。这其免费云主机域名实就是一个观察者模式的实现。例子二:游戏框架要开发一个游戏,启动游戏,加载图片和音乐,加载完后,渲染场景和音效,加载和渲染由不同的人负责。可以这样写:文件:index.js文件:loadImage.js文件:loadMusic.js文件:initScene.js加载模块和渲染模块互不影响,易于扩展。携带信息除此之外,事件还能传递自定义信息:(注意:传递自定义信息需要使用CustomEvent,而不是Event)然后在监听函数里取出:关于“怎么用javascript实现自定义事件功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云编程开发博客行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 利用Openssl进行SSL证书格式转换

各类证书由于存储的内容不同(如是否包含公钥/私钥是否加密存储/单一证书或多证书等)、采用编码不同(DER/BASE64)、标准不同(如PEM/PKCS),所以尽管X.509标准规定了证书内容规范,但证书文件还是五花八门。 在实际应用中经常会要求进行证书格式转化…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/07 19:56
下一篇 02/07 19:56