0

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

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

  alert(x);
 }

为什么 alert(x) 首先运行(我是 javascript 的初学者)并提示“未定义”,然后按确定后提示“真”,按取消时提示“假”..?

有什么办法可以让 jConfirm 返回真或假...即 x 是真还是假?

我正在为 jConfirm使用“ http://abeautifulsite.net/ ”插件。

4

1 回答 1

0

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

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

于 2014-09-23T10:41:46.320 回答