这就是我想要做的……
function myFunction()
{
var x=jConfirm('Can you confirm this?', 'Confirmation Dialog', function (r) {
y=r;
alert(y);
});
alert(x);
}为什么alert(x)首先运行(我是javascript的初学者),它提示“未定义”,在我按“确定”后,它提示“真”,当我按取消时,它提示“假”?
有没有办法让jConfirm返回true或让false...ie x返回trur或false?
我正在使用jConfirm的"http://abeautifulsite.net/“插件。
发布于 2014-09-23 18:41:46
jConfirm不会创建HTML框,它会创建一个类似于警告框的alert元素。这里重要的区别是,Javascript box会停止执行,直到它被关闭,所以alert(1); console.log(2);将首先发出警报,然后登录到控制台。由于jConfirm 不使用alert(),如果您调用jConfirm(1, ...); console.log(2),它将显示确认框(HTML),然后在瞬间写入控制台。
复杂的说法是,alert()是synchronous -它锁定脚本执行,直到您从警报中选择了某些内容。jConfirm为asynchronous,,脚本的执行将独立于您的选择而继续,直到您选择某个对象为止,此时它将触发一个回调函数。
https://stackoverflow.com/questions/25992970
复制相似问题