gpt4 book ai didi

javascript - confirm() 如何在 JavaScript 中工作

转载 作者:搜寻专家 更新时间:2023-10-31 21:59:05 25 4
gpt4 key购买 nike

我在思考今天 JavaScript 中的原生函数是如何工作的,我可以跨越 alert(),我认为它必须使用 createElement() 或创建一个元素并使用 innerHTML,但我无法弄清楚创建弹出元素所需的完整代码,并制作两个按钮,然后返回 truefalse 基于一次点击。
乔斯说:

usually JS is async; why is alert special? how and why does it create UI elements in a different way from my own scripts?

这是我想出的代码:

function confirm(message) {
message = message.replace(/"\n"/g, "<br />")
createElement();
//The create Element is very complicated to create the text box including message. . .
//These two functions are tied to the button's onclick's.
function clickOkay() {
valueToReturn = true
return true;
}
function clickCancel() {
valueToReturn = true
return false;
}
//here, the user hits the button, and sets valueToReturn
return valueToReturn;
}

但我不明白它是如何停止后台脚本的,如果可以访问,或者 createElement() 是如何工作的,(但那是另一个问题)

最佳答案

alertconfirmprompt都是浏览器实现的DOM API。它们不创建 DOM 元素来表示它们,并且它们的功能不能用 JavaScript 完全重新创建,因为您不能强制 JavaScript 引擎等待用户单击您的按钮之一。您只能通过要求包含您创建的对话结果的回调来接近。

function customConfirm(message, callback) {
message = message.replace(/"\n"/g, "<br />")
createElement();
//The create Element is very complicated to create the text box including message. . .
function clickOkay() {
callback(true);
}
function clickCancel() {
callback(false);
}
}
customConfirm("Hello World!", function (result) {
console.log(result);
});

关于javascript - confirm() 如何在 JavaScript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245541/

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