我知道我可以打电话给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并继续执行代码。所以我很抱歉地说,但是这个插件不能正常工作,我建议您也许再找一个。