簡體   English   中英

jQuery:如果不存在警報,則按需插件加載失敗

[英]jquery: on demand plugin loading fails if alert not present

我正在使用jQuery Loader插件按需加載標簽文件。

問題是,如果我向加載時觸發的回調函數添加alert ,則加載的插件似乎可以正常工作;如果刪除alert ,則插件將失敗。

任何想法為什么會這樣?

$(document).ready(function(){    
   $("#mytags").Loader(
                {
                    url: [
                        'media/plugins/tagit/css/jquery-ui/jquery.ui.autocomplete.custom.css',
                        'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js',
                        'media/plugins/tagit/js/jquery-ui/jquery-ui-1.8.autocomplete.min.js',
                        'media/plugins/tagit/js/tag-it.js'
                    ],
                    success: function(target) {
                        //alert('loaded');                  
                         $(target).tagit({
                            availableTags: ["tag1","tag2", "tag3"],
                            values: ["tag2"]
                        });
                    }
                }
 });

我在本地XAMP環境中對此進行了測試。

使用alert()阻止代碼執行有幫助的可能原因是,盡管JavaScript執行停止(包括間隔和超時),但是外部資源(JS,CSS,圖像和xmlhttprequests)可能會完成加載。 但是,再次提醒,直到alert()之后的代碼完成,這些外部腳本都不會運行,也不會觸發DOM事件。

alert()有所作為的一個示例: http : //jsfiddle.net/p9Nff/

這大概與異步有關,您是否嘗試將異步設置為false?

當警報打開時,腳本有時間加載您的插件。 或者這就是Alexey所說的,您的DOM還沒有准備好,請將您的代碼放入$(function(){/ code here /});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM