Javascript CustomEvent

时间:2022-09-08 12:55:05

Javascript CustomEvent

  原文链接 https://davidwalsh.name/customevent,看到一篇介绍自定义事件的文章 翻译一下,不足之处,还请指正。

  自浏览器诞生以来,javascript event一直是用户交互的方式。调用事件不仅告诉了我们发生了什么,而且告诉了我们是什么类型的交互,设计的DOM节点,还有事件调用的方法。创建并调用自定义事件是一个很棘手的事情。用javascript的自定义时间的API可以消除这些问题。CustomEvent API 不仅允许开发者自定义事件,而且在节点上触发他们。最重要的是这个API超级简单.

  The Javascript

  当时用自定义事件的时候,有两个参数(组件)需要被“定制”:1,自定义事件的名称。2触发这个事件所做的事情(回调函数).给一个元素添加一个事件处理程序,一切照旧。

  

myElement.addEventListener("userLogin", function(e) {
console.info("Event is: ", e);
console.info("Custom data is: ", e.detail);
})

  这里我们添加了一个 userLogin 事件,就像我们添加mouseover 事件一样简单,这没有什么特别的。特殊的部分是创建和触发自定义事件.

// First create the event
var myEvent = new CustomEvent("userLogin", {
detail: {
username: "davidwalsh"
}
}); // Trigger it!
myElement.dispatchEvent(myEvent);

  new一个CustomEvent构造函数的实例允许你通过两个特殊的属性事件名称和数量来创建自定义事件。dispatchEvent触发事件在给定的元素。让我们通过两个参数bubbling, cancelable来触发自定义事件。

  参数如下:

var myEvent = new CustomEvent("userLogin", {
detail: {
username: "davidwalsh"
},
bubbles: true,
cancelable: false
});

  通过自定义数据来创建自定义事件难以置信的有用,你不仅可以创建你自己约定命名的自定义事件,而且可以传递自定义数据。你可以查看https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent确保浏览器的支持,但是这个API只有最新的浏览器才可以使用。

Javascript CustomEvent的更多相关文章

  1. 浅谈Javascript事件模拟

    事件是用来描述网页中某一特定有趣时刻的,众所周知事件通常是在由用户和浏览器进行交互时触发,其实不然,通过Javascript可以在任何时间触发特定的事件,并且这些事件与浏览器创建的事件是相同的.这就意 ...

  2. CustomEvent自定义事件

    javascript与HTML之间的交互是通过事件来实现的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间.通常大家都会认为事件是在用户与浏览器进行交互的时候触发的,其实通过javascript我 ...

  3. javascript和jquey的自定义事件小结

    “通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率.” 可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好 对象之间通过直接方法调用来交互 1)对象A直接调用 ...

  4. Javascript事件模型系列(四)我所理解的javascript自定义事件

    被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一 ...

  5. JavaScript(六)——实现图片上下或者左右无缝滚动

    /*! jQuery v1.8.3 jquery.com | jquery.org/license */ (function(e,t){function _(e){var t=M[e]={};retu ...

  6. custom event in javascript and jquery

    javascript: // add a eventListener document.addEventListener("abc", function(){alert('this ...

  7. 最详细的JavaScript和事件解读

    与浏览器进行交互的时候浏览器就会触发各种事件.比如当我们打开某一个网页的时候,浏览器加载完成了这个网页,就会触发一个 load 事件:当我们点击页面中的某一个“地方”,浏览器就会在那个“地方”触发一个 ...

  8. [转] JavaScript 和事件

    与浏览器进行交互的时候浏览器就会触发各种事件.比如当我们打开某一个网页的时候,浏览器加载完成了这个网页,就会触发一个 load 事件:当我们点击页面中的某一个“地方”,浏览器就会在那个“地方”触发一个 ...

  9. 理解的javascript自定义事件

    理解的javascript自定义事件 被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情, ...

随机推荐

  1. ICSharpCode.SharpZipLib.dll 移植WP

    由于众所周知的原因. ICSharpCode.SharpZipLib.dll在Unity移植WP的时候出现诸多API不兼容,解决方案是在在Github上面找ICSharpCode.SharpZipLi ...

  2. servlet 中 web.xml

    <servlet> <servlet-mapping> 他们之间的关系可以使一对一,也可是一对多的关系. <servlet> <servlet-name&gt ...

  3. 免费UI框架推荐--Charisma UI

    基于Jquery.Bootstrap的后台管理免费UI框架推荐--Charisma UI 在项目设计和开发工作中,做过一些后台管理系统的设计和开发,用的很多都是比较传统的UI框架. 老是走在这个圈子里 ...

  4. &lbrack;BZOJ 1297&rsqb;&lbrack;SCOI2009&rsqb;迷路

    1297: [SCOI2009]迷路 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1418  Solved: 1017[Submit][Status ...

  5. 高通平台手机开发之LCD

    4.1. LCD 参考文档: 1) 80-NA157-174_E_DSI_Programing_Guide_B-Family_Android_Devices.pdf 2) 80-NN766-1_A_L ...

  6. python2&period;7 的中文编码处理,解决UnicodeEncodeError&colon; &&num;39&semi;ascii&&num;39&semi; codec can&&num;39&semi;t encode character 问题

    最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...

  7. 网络浅析&lpar;&lt&semi;&lt&semi;网络是怎么连接的&gt&semi;&gt&semi; 总结&rpar;

    概要 基本概念 网线 集线器 交换机 路由器 路由器和交换机 路由器和集线器 接入网 IP DNS 以太网 协议栈 网络连接过程 通信过程(浏览器 -> 服务器) 客户端和服务端 服务端的套接字 ...

  8. 【mysql】mysql尾部空格

    mysql 字段为varchar类型的在查询时候胡忽略尾部空格. 先看表结构 插入一条数据包含空格 在查询是可以查到的 所有在插入数据的时候要对插入字段的数据处理下,php可以用函数trim()去掉两 ...

  9. 002&lowbar;Add Two Numbers

    # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # sel ...

  10. 面向对象&mdash&semi;&mdash&semi;单例模式,五种方式

    单例模式:多次实例化的结果指向同一个实例 实现方式 一.使用类方法(调用创新对象,函数返回原定对象) import settings class Mysql: __instance = None de ...