这就是我想要做的事情......
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的插件。
答案 0 :(得分:0)
jConfirm没有创建alert
框,它会创建一个看起来像警告框的HTML元素。这里的重要区别是alert()
框将停止Javascript执行直到它关闭,因此alert(1); console.log(2);
将首先发出警报,然后登录到控制台。由于jConfirm 没有使用alert()
,如果您调用jConfirm(1, ...); console.log(2)
它将显示确认框(HTML),然后在一瞬间写入控制台。
复杂单词版本是alert()
同步 - 它会锁定脚本执行,直到您从警报中选择了某些内容。 jConfirm是异步,脚本执行将独立于您的选择而继续,直到您选择某些内容为止,此时它会触发回调函数。