Javascript:通过另一个函数取消提示
我有提示循环,但我想在单击页面上的div按钮时取消循环。我必须编写什么样的函数来取消循环Javascript:通过另一个函数取消提示,javascript,function,loops,Javascript,Function,Loops,我有提示循环,但我想在单击页面上的div按钮时取消循环。我必须编写什么样的函数来取消循环 function askName(){ var strName = prompt("What is your name?"); if (!strName){ askName(); } else { document.writeln("<h1>" + strName + "</h
function askName(){
var strName = prompt("What is your name?");
if (!strName){
askName();
} else {
document.writeln("<h1>"
+ strName + "</h1>");
askDate();
}
}
函数askName(){
var strName=prompt(“您叫什么名字?”);
如果(!strName){
askName();
}否则{
文件。writeln(“”)
+strName+“”);
askDate();
}
}
我有html页面
<div id ="cancelling" onClick="function_cancel">
Cancel
</div>
取消
浏览器中JavaScript的本质是单线程的。这意味着,在回答提示之前,其他代码无法执行。仍然可以调度事件并将其添加到事件队列(例如:传入的XHR响应),但在当前执行上下文结束(函数结束)之前,不会处理这些事件
换句话说,当提示处于活动状态时,没有可以运行的函数,因此无法写入它。您不能使用页面上的元素执行此操作,但是您可以正确处理“取消”按钮,如下所示:
function askName() {
var strName = prompt("What is your name?");
if (strName == null) { //cancel button clicked, dont ask anymore
return;
}
if (strName === "") { //empty name, ask again
askName();
} else {
//document.writeln("<h1>" + strName + "</h1>");
//do not use document.write!
var h1 = document.createElement("h1");
h1.innerHTML = strName;
document.body.appendChild(h1);
askDate();
}
}
函数askName(){
var strName=prompt(“您叫什么名字?”);
如果(strName==null){//cancel按钮被点击,不要再问了
返回;
}
如果(strName==“”){//空名称,请再次询问
askName();
}否则{
//document.writeln(“+strName+”);
//不要使用document.write!
var h1=document.createElement(“h1”);
h1.innerHTML=strName;
文件.正文.附件(h1);
askDate();
}
}
如果本机提示符
,提示符
是同步的,它会阻止一切,直到用户应答。为什么不使用
元素?