gpt4 book ai didi

javascript - 我自己的提示窗口会停止 javascript 执行吗?

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

我是 JavaScript 新手。我想创建一个 javascript 函数来等待用户输入。我知道我可以使用提示,但窗口看起来不太好,所以我想制作自己的提示窗口。我搜索并发现我可以使用 jquery ui 或简单地使用 html+css+javascript 创建窗口来完成此操作,但我的问题是:如果我创建自己的提示窗口,该函数是否会等到给出输入为止?或者它只是在给出输入后调用一个函数?

这基本上就是我想做的:

function () 
{
var input = MyPrompt(); //Wait here for a user input, like a c scanf

//Rest of the function who will use the input given

}

我真的需要 javascript 函数停止执行,就像 scanf 或提示符那样。因为我发现的大多数解决方案只是在单击“确认”按钮后调用一个函数

谢谢

最佳答案

根据 JavaScript 的本质,无法“暂停”JavaScript 应用程序的执行。这就是为什么在 JavaScript 中大多数外部调用处理程序(例如 NodeJS 中的 URL 调用或文件系统操作)都是作为回调实现的。

EcmaScript 规范创建者正在尝试提供 async/await features ,但实际上这只是 promises 的语法糖。 .

您最好的选择是创建自己的“提示”或使用任何现有的 like this并在获得用户输入后将您想要执行的操作作为该提示的“回调”:

showMyPrompt({
success: function(value){ console.log('User said ', value); },
close: function(){ //handle pressing of a "cancel" button if needed }
})

在你的对话框函数中:

function showMyPrompt(params){
// show your prompt here
$('.dialog-ok-button').click(function(event){
event.preventDefault();
var value = $('.my-prompt-input').val();
params.success && typeof params.success == 'function' && params.success(val);
});

// and do similar for "cancel"
}

关于javascript - 我自己的提示窗口会停止 javascript 执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211116/

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