【发布时间】:2014-11-19 08:47:49
【问题描述】:
所以我有这些代码行:
$('td').click(function (e) {
var test = "....";
var test2 = "....";
var test3 = "....";
SuppressWarning(test, test2, test3);
});
function SuppressWarning(test, test2, test3)
{
var reason = prompt("Why are you suppressing this warning?");
if(reason != "")
{
//do something
}
当系统运行时,它会在提示符处停止,除非用户交互,否则不会继续执行 if 语句。 但是,我想自定义警报框,所以我决定使用 alertify.js 。
所以我现在得到了这段代码:
$('td').click(function (e) {
var test = "....";
var test2 = "....";
var test3 = "....";
SuppressWarning(test, test2, test3);
});
function SuppressWarning(test, test2, test3)
{
var reason = alertify.prompt("Message", function (e, str) {
if (e) {
// user clicked "ok"
} else {
// user clicked "cancel"
}
}, "Default Value");
if(reason != "")
{
//do something
}
我的问题是系统运行时,并没有在提示符处停止;它只是进入 if 语句而不做其余的事情。这是为什么?为什么它不会在提示符处停止以便用户可以输入内容?我怎样才能解决这个问题?谢谢!
【问题讨论】:
-
您的代码可能希望在您的函数内执行时。执行不会暂停,提示正在异步触发。你可能想在你的函数中使用 if(str!= "")。
-
这不是你的问题,但我也注意到你有 prompt(message, function) 而不是 prompt(message, value, function);也许尝试添加“”(空字符串)作为您的默认值?为了获得最佳实践。
标签: javascript c# jquery prompt alertify