我遇到了点击事件的奇怪行为,我可以(或多或少)弄明白,但我无法找到相关的文档。
是否有可能在promise中使用方法click()或使用setTimeout函数单击按钮?
这是一个展示我的意思的例子:
document.getElementById("mioBottone").addEventListener("click", function () {
callAPI().then(function (data) {
document.getElementById("inputFile").click();
});
});
function callAPI () {
return new Promise (function (resolve, reject) {
$.get( "https://swapi.co/api/people/1/", function( data ) {
resolve(data);
});
});
}
从我的测试看起来,click只能在click事件监听器上下文中执行,而不是使用promises或setTimeout延迟,但我还没有找到任何关于它的文档。
这是一个简单的小提琴:https://jsfiddle.net/gpeek6s8/23/