gpt4 book ai didi

javascript - 在 Vanilla JS 中触发 CustomEvent

转载 作者:行者123 更新时间:2023-12-04 16:01:26 24 4
gpt4 key购买 nike

我正在尝试在 vanilla javascript 中创建自定义事件,但并不真正了解如何触发它。据我所知有jQuery方法trigger('customEvent') ,但它是如何在 Vanilla JS 中制作的?找不到任何相关信息。

创建 CustomEvent :

var addColor = function (elem) {

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

addEventListener到元素
var elem = document.querySelector('div');
addColor(elem);

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

最佳答案

您的代码工作正常,您只是决定在调用它后收听该事件。此外,如果您想传递自定义数据,请通过 detail .您没有传递任何东西,但期望事件参数成为您的元素。

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);
.red { color: red }
.color-do-changed { text-decoration: underline }
<div>Make me red</div>

关于javascript - 在 Vanilla JS 中触发 CustomEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50391445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com