Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >香草JS中的触发CustomEvent

香草JS中的触发CustomEvent
EN

Stack Overflow用户
提问于 2018-05-17 04:25:24
回答 1查看 2.6K关注 0票数 5

我试图在中创建自定义事件,但并不真正理解如何触发它。据我所知,有jQuery方法trigger('customEvent'),但是它是如何用Vanilla JS制造的?找不到这方面的任何信息。

创建CustomEvent

代码语言:javascript
运行
AI代码解释
复制
var addColor = function (elem) {

    elem.classList.add('red');
    var event = new CustomEvent('madeRed');
    elem.dispatchEvent(event);
};

addEventListener附加到元素

代码语言:javascript
运行
AI代码解释
复制
var elem = document.querySelector('div');
addColor(elem);

elem.addEventListener('madeRed', function (elem) {
    elem.classList.add('color-do-changed');
}, false);
EN

回答 1

Stack Overflow用户

发布于 2018-05-17 04:33:32

您的代码运行良好,您只是在调用它之后才决定侦听该事件。另外,如果您想传递自定义数据,那么通过详细信息传递它。您没有传递任何内容,而是希望事件参数是您的元素。

代码语言:javascript
运行
AI代码解释
复制
var elem = document.querySelector('div');

var addColor = function (elem) {
    elem.classList.add('red');
    var event = new CustomEvent('madeRed', {
      detail: {
        elem
      }
    });
    elem.dispatchEvent(event);
};

elem.addEventListener('madeRed', function (event) {
    event.detail.elem.classList.add('color-do-changed');
}, false);


addColor(elem);
代码语言:javascript
运行
AI代码解释
复制
.red { color: red }
.color-do-changed { text-decoration: underline }
代码语言:javascript
运行
AI代码解释
复制
<div>Make me red</div>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50391445

复制
相关文章
js触发全屏事件
让用户端JS触发指的就是让用JS监听用户的操作事件,通过JS程序去实现F11全屏。这个事件可以是一个按钮的点击事件,当然也可以是键盘事件,比如用户按下F11。     1.F11键盘事件触发   当用户按下F11事件,浏览器为触发自身全屏功能,这个过程我们一般是不可控制的,即使是监听了F11的键盘事件,退出全屏的时候,我们也捕捉不到退出全屏触发的事件。所以,我们就用程序自己去实现F11的功能,首先需要禁用浏览器默认的事件动作。
山河木马
2019/03/05
16.1K0
vue.js 父组件如何触发子组件中的方法
组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。
IT工作者
2022/02/17
4.8K0
js 手动触发input事件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138867.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
10.8K0
js后退按钮事件触发
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164172.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
10.9K0
【Node.JS】事件的绑定与触发
node.js的事件是使用events模块,通过实例化它里面的EventEmitter类,来绑定和监听事件。
坚毅的小解同志的前端社区
2022/11/28
11.2K0
【Node.JS】事件的绑定与触发
🔥JavaScript 自定义事件如此简单!
在前端开发世界中,JavaScript 和 HTML 之间往往通过 事件 来实现交互。其中多数为内置事件,本文主要介绍 JS自定义事件概念和实现方式,并结合案例详细分析自定义事件的原理、功能、应用及注意事项。
pingan8787
2020/02/22
1.6K0
【JS】512- JS 自定义事件如此简单!
在前端开发世界中,JavaScript 和 HTML 之间往往通过 事件 来实现交互。其中多数为内置事件,本文主要介绍 JS自定义事件概念和实现方式,并结合案例详细分析自定义事件的原理、功能、应用及注意事项。
pingan8787
2020/02/26
2K0
PKS中的RS触发器和SR触发器
上大学时,学习《数字电子技术》这门课,第一次接触到RS触发器的概念,当时学了个囫囵吞枣,只知道有个置位端,还有个复位端,当置位端为ON时,RS触发器的输出为ON,当复位端为ON时,RS触发器的输出为OFF,至于置位端和复位端都为ON,或者都为OFF,触发器的输出会怎样,什么情况下需要使用RS触发器,当时根本就没有考虑,看来教学和应用还是有点脱节的。
剑指工控
2022/11/14
1.5K0
PKS中的RS触发器和SR触发器
实现一个 EventEmitter 类
在前端开发中,经常会使用到发布订阅模式,发布订阅模式也被称为观察者模式。最常见的发布订阅模式莫过于给 DOM 绑定事件,当点击一个按钮或者鼠标移动到某个元素上就会触发事件监听函数,然后弹出一个文本框或者改变元素样式。
多云转晴
2020/05/28
1.4K0
WPF中的触发器(Trigger)
这节来讲一下WPF中的触发器——Trigger。触发器,是指在既定条件或者特殊场景下被触发,从而去执行一个操作。在WPF中,触发器可以分为以下几类:基本触发器(Trigger);事件触发器(EventTrigger);数据触发器(DataTrigger);多条件触发器(MultiTrigger,MultiDataTrigger)。下面我们来通过代码一一了解。
宿春磊Charles
2022/01/04
3.2K0
WPF中的触发器(Trigger)
MySQL中触发器的使用
如遇到触发器报错“Not allowed to return a result set from a trigger”;请划到最后看详解;
xbhog
2020/12/10
3.4K0
代码触发 ECharts 中组件的行为
饼图程序调用高亮显示 注意js文件存放的位置 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Echarts事件与行为</title> <!--引入Echarts文件--> <script src="../js/echarts.min.js"></script> </head> <body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style
别团等shy哥发育
2023/02/25
9890
代码触发 ECharts 中组件的行为
微信小程序8种数据通信的方式
数据通信在开发中是必不可少的一个环节,也是我们必须掌握的知识。知道得越多的数据通信方式,实现业务会更加得心应手。
WahFung
2020/08/24
1.1K0
3.1、我们的JSBridge
公司研发的一款服务软件App(姑且称为“大地”),提供了包涵消息、待办、工作台、同事圈和通讯录五大功能模块,其中,工作台里集成了包括公司的移动客户端、PC端以及第三方平台的部分功能/服务(统称为“应用”)。
甜点cc
2022/10/05
1.1K0
3.1、我们的JSBridge
iOS中离屏渲染触发机制iOS中离屏渲染触发机制
性能的优化相信是每一个APP工程师所追求的,而离屏渲染就是一个绕不开的知识点。现在提出几个问题帮助大家更快的理解:
用户8893176
2021/08/09
1.8K0
iOS中离屏渲染触发机制iOS中离屏渲染触发机制
Postgresql中VDF触发LRU淘汰的条件
也就是说当: (vfd打开的数量nfile) + (其他路径直接调用fd.c接口打开文件数量numAllocatedDescs) 超过max_safe_fds时触发LRU淘汰。
mingjie
2022/05/12
4870
触发器在渗透中的利用
0x01 什么是触发器: 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、alter、drop语句。 0x02 问题描述: a)通
逸鹏
2018/04/09
1.5K0
触发器在渗透中的利用
【愚公系列】2022年02月 微信小程序-Component组件的通信与事件
事件系统是组件间通信的主要方式之一。自定义组件可以触发任意的事件,引用组件的页面可以监听这些事件。
愚公搬代码
2022/02/28
8340
[javascript] 看知乎学习js事件触发过程
调用元素对象的addEventListener()方法,参数:事件,回调函数,是否捕获(true代表捕获阶段,false代表冒泡阶段,ie浏览器不支持在捕获阶段绑定事件因此一般写false)
唯一Chat
2019/09/10
3.8K0
[javascript] 看知乎学习js事件触发过程
JS实现select选中option触发事件操作示例
本文实例讲述了JS实现select选中option触发事件操作。分享给大家供大家参考,具体如下:
用户8099761
2023/05/11
10.9K0

相似问题

在Dart中收听JS CustomEvent

13

统一尝试用Oculus集成输入( CustomEvent )触发CustomEvent

17

香草JS动画?

216

香草JS中的DOM操作

10

从dom- CustomEvent中的元素中触发一个

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档