jConfirm不会返回true或false

时间:2014-09-23 10:38:06

标签: javascript jconfirm

这就是我想要做的事情......

function myFunction()
{
  var x=jConfirm('Can you confirm this?', 'Confirmation Dialog', function (r) {
      y=r; 
      alert(y);
  });

  alert(x);
 }

为什么警报(x)首先运行(我在javascript中初学者)并且它警告"未定义",然后在我按下确定警告" True"和"假"当我按下取消..?

有什么方法可以让jConfirm返回true或false ......即x是trur还是false?

我正在使用" http://abeautifulsite.net/" jConfirm的插件。

1 个答案:

答案 0 :(得分:0)

jConfirm没有创建alert框,它会创建一个看起来像警告框的HTML元素。这里的重要区别是alert()框将停止Javascript执行直到它关闭,因此alert(1); console.log(2);将首先发出警报,然后登录到控制台。由于jConfirm 没有使用alert(),如果您调用jConfirm(1, ...); console.log(2)它将显示确认框(HTML),然后在一瞬间写入控制台。

复杂单词版本是alert() 同步 - 它会锁定脚本执行,直到您从警报中选择了某些内容。 jConfirm是异步,脚本执行将独立于您的选择而继续,直到您选择某些内容为止,此时它会触发回调函数。