gpt4 book ai didi

javascript - 响应延迟按钮事件 2 秒

转载 作者:行者123 更新时间:2023-11-28 04:12:43 26 4
gpt4 key购买 nike

    <input
type="file"
ref={ref => {this.ref = ref}}
/>
<button
onClick={(e)=> {
const promise = new Promise((resolve) => {
setTimeout(() => { resolve() }, 2000) //change to 1000 works
})
promise.then(()=> {
console.log('clicking');
this.ref.click();
})
}}
>
Click me
</button>

当点击Click me按钮时,我需要在打开输入文件资源管理器之前执行一些额外的操作(例如提示Facebook登录或获取数据)。

在这种情况下,我设置了 2 秒延迟,但点击不再激活。将延迟更改为 1 秒确实有效。

我认为事件在 1 秒后“过期”,所以除了让用户再次点击之外,我对我的情况无能为力?

Edit mqq3pyn129

最佳答案

您的代码显示您正在单击解析方法中的文件输入。并且单击是在 promiseresolve 方法中执行的。

请注意,您无法在不是由用户操作直接启动的函数中触发文件输入上的点击。假设click是在onClick上触发的,那么点击文件就会被执行。由于您正在延迟执行与用户启动的操作无关的函数,因此不会触发 file 输入上的 click这是出于安全考虑

但是在你的问题中,因为你提到你想要提示 facebook 登录或获取数据,这将起作用,因为它们可能是纯 JavaScript 相关的操作。

关于javascript - 响应延迟按钮事件 2 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46126591/

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