繁体   English   中英

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数据后不提供任何回调。 任何非骇客的解决方案都需要对库本身进行一些修改。

这是您可以做到的快速方法

通过添加此行

typeof options.callback == 'function' && options.callback();

success: function(data) {结束时success: function(data) {

那么您的代码就是这样:

<script>
$(document).ready(function () {
    $('body').glossary('listofwords.json', {callback:function() {alert('finished');}} );
});
</script>

这与您的上一个示例类似,只是将回调函数放入了插件期望的选项JSON中。

我不知道什么是“词汇表”,但是您可能会找到jQuery api提供的Deferred对象的解决方案。 Deferred帮助处理json调用,尤其是.done()方法,以在调用结束时设置回音。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM