我知道我可以打电话给alert('Warning1');alert('Warning2');
它将显示2条警报。但是,当我使用JAlert Page中引用的JAlert插件时,无法显示多个警报消息。你们有没有使用过该插件并解决过相同的问题?

最佳答案

是的,所以我制作了一个示例HTML并测试了一下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<!-- Dependencies -->
<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery-ui.min.js" type="text/javascript"></script>
<!-- Core files -->
<script src="jquery.alerts.js" type="text/javascript"></script>
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />

<script type="text/javascript">
        $(document).ready( function() {

          jAlert('This is a custom alert box', 'Alert Dialog', doAlert()  );

          function doAlert() {
              alert('CallBack')
          }

        });
</script>

</head>

<body>
</body>


因此,根据网站上的文档


用法
该插件利用$ .alerts命名空间,但是有三个内置的快捷功能>,它们使实现更容易:

jAlert(消息,[标题,回调])


好的,现在这是jQuery的逻辑


准备好文件开始
jAlert显示一个自定义框,按定义应该执行回调doAlert()
第一个jAlert提示成立后,它将执行回调并打开jALert的另一个实例


实际发生了什么


doAlert函数在调用回调的实际jAlert之前触发
第一个jAlert开火!但未显示出来,因为已经存在jAlert等式并且jsut会忽略发生的任何情况


结论

该插件无法在内部处理多个调用,并且回调是错误的!因为它不是回叫而是在调用其自身或等待初始jAlert被接受之前先调用一个函数




查找其他插件
创建一个内部jScript队列系统。以某种方式基于此插件的工作原理


为什么alert();然后工作?!??!?!?!?

因为当您调用alert();时,代码执行会停止并等待,直到您按OK并继续执行代码。

所以我很抱歉地说,但是这个插件不能正常工作,我建议您也许再找一个。

09-07 23:14