gpt4 book ai didi

javascript - 在 JavaScript 警报框中调用我的函数不起作用

转载 作者:行者123 更新时间:2023-11-28 01:40:11 25 4
gpt4 key购买 nike

我是 JavaScript 和 JQuery 的初学者。我只是想做一个有趣的程序,它的工作原理就像 JavaScript 中的提示框一样。我创建了该函数并且它确实有效,但问题是当我将它包含在 alert() 中时,它不会等到我的函数完成执行。

这是我的代码:

function getString(labeltxt){
$("body").append("<div class='pageTakeout'><div id='alertzone'><p id='alertzonetext'></p><input type='button' id='alertzoneclicker' value='OK' onclick='returnString()' /></div></div>");
$("#alertzonetext").text(labeltxt);
$("#alertzonetext").append("<br><br><input type='text' id='getstring_temptext' name='getstring_temptext' />");
$(".pageTakeout").css({'display':'block'});
$("#getstring_temptext").focus();

getTextVal(function(result){
return returnString(result);
});

}

function getTextVal(callback){
$("#getstring_temptext").keyup(function(e){
if(e.keyCode==13){
result=$("#getstring_temptext").val();
callback(result);
}
});
}

function returnString(result){
$("#alertzonetext").text('');
$(".pageTakeout").fadeOut(200,function(){
$(".pageTakeout").remove();
});
var test = result;
return test;

}

alert(getString('Enter some text'));

最佳答案

promptalert 由于其同步性质而无法复制。

您必须添加回调而不是返回值(异步),就像您对 getTextVal 执行的操作一样,如下所示:

function getString(labeltxt, callback){
...
getTextVal(function(result){
callback(returnString(result));
});
}

最终的调用必须是:

getString('Enter some text', function(string){
alert(string);
});

干杯

关于javascript - 在 JavaScript 警报框中调用我的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21013059/

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