gpt4 book ai didi

javascript - 延迟事件监听器

转载 作者:行者123 更新时间:2023-11-28 18:52:47 26 4
gpt4 key购买 nike

在 JavaScript 中,我有一个元素(它是一个输入标记)。

这段代码:

element.addEventListener("focus", function () {
this.parentNode.parentNode.style.outline = this.parentNode.parentNode.dataset.ans_outline;
});

当输入获得焦点时,轮廓立即改变。

我的问题是:我怎样才能推迟这个事件?

我已经尝试过:

element.addEventListener("focus", function () {
setTimeout(function(node) {
node.parentNode.parentNode.style.outline = node.parentNode.parentNode.dataset.ans_outline;
}(this), 1000)
});

..但这不起作用:(

最佳答案

试试这个:

element.addEventListener("focus", function () {
var node = this;
setTimeout(function() {
node.parentNode.parentNode.style.outline = node.parentNode.parentNode.dataset.ans_outline;
}, 1000)
});

setTimeout 的第一个参数function 是您要执行的函数(不要直接调用该函数)。

您可以在 node 变量中存储对 this 的引用,然后在超时函数中使用它(请参阅 closures )

关于javascript - 延迟事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202824/

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