Javascript:通过另一个函数取消提示
Javascript: Cancelling prompt via another function
我有提示循环,但我想在单击页面上的div按钮时取消循环。我必须编写什么样的函数才能取消循环?
function askName(){
var strName = prompt("What is your name?");
if (!strName){
askName();
} else {
document.writeln("<h1>"
+ strName + "</h1>");
askDate();
}
}
我有html页面
<div id ="cancelling" onClick="function_cancel">
Cancel
</div>
您不能使用页面上的元素,但您可以正确处理取消按钮点击,如下所示:
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();
}
}
浏览器中JavaScript的本质是单线程的。这意味着,在您回答提示之前,其他代码都无法执行。事件仍然可以被调度并添加到事件队列中(例如:传入的XHR响应),但在当前执行上下文结束(函数结束)之前不会处理它们。
换句话说,当提示处于活动状态时,没有任何函数可以运行,因此无法编写它。
相关文章:
- jquery点击函数select&取消选择
- 如何取消object.prototypes javascript的一个函数
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在调用去抖函数之后和执行之前取消该函数
- 当函数取消隐藏 2 个元素时,如何在 javascript 中显示/隐藏
- 元素单击处理程序由一个神秘的函数取消设置
- 我可以使用一个函数让所有复选框都被选中或取消选中吗(不使用点击触发器)
- 用变元取消对函数的调用
- .submit JS函数在Safari中不显示CSS覆盖(除非我取消页面加载)
- 在再次被调用之前取消调用函数
- HTMLJavascript-如何向输入语句添加函数并隐藏输入语句,除非选中“是”,然后取消隐藏
- 在javascript中使用.replacement()函数时,请避免取消挂起事件处理程序
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- 使用构造函数创建的数字没有其值作为属性,请取消String与构造函数的链接
- Javascript:通过另一个函数取消提示
- Javascript函数用于选择/取消选中radgrid标头模板中的所有复选框
- 通过javascript函数取消设置php数组元素
- 取消绑定 e.prevent默认 从另一个函数转发到链接单击
- 如何取消调用链下游的其他 onclick 函数调用
- 包含函数的对象文字表示法的执行速度是否比(全局范围)普通函数(取消引用)更快