警报不会因提示而停止

本文关键字:提示 | 更新日期: 2023-09-27 18:24:11

所以我有以下几行代码:

$('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语句而不执行其余语句。为什么?为什么它不在提示处停止,以便用户可以键入内容?我该怎么解决这个问题?非常感谢。

警报不会因提示而停止

prompt是浏览器的原生版本,它会停止当前的代码流,就像一个警告框或确认一样。另一方面,alertify没有。如果触发alertify,脚本将不会停止。

这就是alertify接受回调作为参数的原因。CCD_ 2是在用户按下okcancel后触发的。str参数是用户输入的内容。只需在回调中移动您的条件:

alertify.prompt("Message", function (e, str) {
    if (e) {
        // user clicked "ok"
        if(str != "")
        {
            //do something
        }
    } else {
        // user clicked "cancel"
    }
}, "Default Value");