我正在尝试将以下旧学校代码段转换为alertify.js 0.3.8:
window.doPrompt = function() {
var str;
do str = prompt("Enter your name");
while (str === "" && (alert("Can't be empty!") || true));
if (str) document.getElementsByTagName("body")[0].innerHTML += ("<pre>Your name is: " + str + "</pre>");
}
这是我第一次尝试的:
window.doPrompt = function() {
alertify.prompt(
"Enter your name",
function(confirmed, str) {
if (confirmed) {
if (str.length === 0) {
alertify.alert(
"Can't be empty!",
function() { doPrompt(); }
);
} else {
document.getElementsByTagName("body")[0].innerHTML += ("<pre>Your name is: " + str + "</pre>");
}
}
}
);
}
它没有按预期工作。例如,在 Firefox 19 中,如果您使用键盘提交提示为空,“错误”警报只会显示很短的时间,然后会自行消失,这不是以前的工作方式。
我尝试通过在每个 alertify 调用周围插入window.setTimeout
超时设置来中断递归。0
它没有帮助。
如果您可以向我推荐一个具有类似 API 的备用 JavaScript 库,我可以使用它来代替(当然没有这个问题)。