js如何在返回值之前等待事件

问题描述 投票:0回答:1

我正在制作一个自定义提示,我可以通过执行

var = customPrompt()
来获取返回值,但我在返回值时遇到了问题,因为我这样做了,而且它从未返回过该值。我也遇到过使用
await
,但我想知道是否有一个更简单的方法我可能错过了?

submitButton.onclick = function () {
  var userInput = document.getElementById("userInput").value;
  closePrompt();
  return userInput;
};
javascript return return-type
1个回答
0
投票

正如 Rory McCrossan 在评论中所说,您无法从事件处理程序返回某些内容,因为它只是被调用然后执行某些操作,仅此而已。如果你想获得一个输入值,你应该将闭包中的变量设置得更高,以便你能够获取并使用它。

let inputValue;

submitButton.addEventListener('click', function () {
  let input = document.getElementById("userInput");
  if(input) inputValue = input.value;
  closePrompt();
});

当然只有当您点击按钮时您才会收到该值。在此之前它将等于

undefined

如果我错了,请更清楚地描述您的案例,并提供更多与您的案例相关的代码示例。

© www.soinside.com 2019 - 2024. All rights reserved.