jQuery函数完成后的警报
Alert After jQuery Function is Finished
我正在努力弄清楚如何让JS警报仅在上一个脚本(词汇表单词替换脚本)完成后出现。 让这个javascript/jquery按顺序运行让我头疼,因为它要么乱序,要么第二部分根本无法运行。
以下是当前在没有警报的情况下工作的代码:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jquery.zglossary.min.js" type="text/javascript"></script>
<script>
$(document).ready(function () {
$('body').glossary('listofwords.json');
//want alert('finished') to happen after glossary word replacement is finished replacing words here
});
</script>
</head>
我已经尝试了很多不同的事情,试图在该评论所在的位置发生警报,并且警报在任何单词被 zglossary 脚本替换之前立即发生,例如:
<script>
$(document).ready(function () {
$('body').glossary('listofwords.json');
alert('finished');
});
</script>
或者脚本将替换所有单词,并且根本不会发生警报。 这方面的一个例子是:
<script>
$(document).ready(function () {
$('body').glossary('listofwords.json');
}, function() {
alert('finished');
});
</script>
我尝试过的另一个发生这种情况的例子(单词被替换,但没有发生警报)是:
<script>
$(document).ready(function () {
$('body').glossary('listofwords.json', function() {alert('finished');} );
});
</script>
我真的想不通。 我将不胜感激任何帮助
我以前从未使用过这个词汇表插件 - 但我下载了源代码,我看到问题显然是因为词汇表插件在异步下载 JSON 数据后不提供任何回调。任何不 hacky 的解决方案都需要对库本身进行轻微修改。
这是一个快速的方法,你可以做到这一点
通过添加此行
typeof options.callback == 'function' && options.callback();
在success: function(data) {
结束时
那么你的代码就是这样:
<script>
$(document).ready(function () {
$('body').glossary('listofwords.json', {callback:function() {alert('finished');}} );
});
</script>
这与上一个示例类似,只是它将回调放入插件所期望的选项 JSON 中。
我不知道
什么是"词汇表",但您可能会找到一个由jQuery api提供的延迟对象的解决方案。延迟有助于处理 json 调用,尤其是 .done() 方法,用于在调用完成时设置一个 caalback。
相关文章:
- 执行ajax成功函数-jQUERY
- 函数jquery.html()不提供数据属性集值
- 将变量放入ajax函数JQuery
- 函数jquery的未定义返回
- 如何在嵌套函数jquery上保持变量的值不变
- 用我的函数jquery给出数据/参数
- Firefox在调用函数(jquery)时冻结
- 在传递节时触发一个函数 - jquery
- 循环执行数组函数jQuery
- 在函数中调用另一个函数JQuery
- 对象不是函数-Jquery/JavaScript
- TypeError:对象不是函数-jquery
- 获取函数jQuery设置的属性
- 从函数jquery获取更新的变量值
- 切换而不是悬停函数jQuery
- 函数jQuery.animation()运行了两次行,但不起作用
- 使用函数 jQuery 获取变量
- 自执行函数 jquery 与 JavaScript 的区别
- 从回调函数 -JQuery 获取返回值
- 一个接一个地执行函数 JQUERY