[英]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.