首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery:如果不存在警报,则按需加载插件失败

问jquery:如果不存在警报,则按需加载插件失败
EN

Stack Overflow用户
提问于 2011-02-26 01:20:16
回答 2查看 607关注 0票数 1

我使用jQuery Loader插件来加载文件on demand- tagit插件。

问题是,如果我在加载时触发的回调函数中添加一个alert,那么加载的插件似乎可以工作,如果我删除alert,插件就会失败。

你知道为什么会发生这种情况吗?

代码语言:javascript
复制
$(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环境中对此进行测试。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-26 01:47:07

使用alert()阻止代码执行的可能原因是,当JavaScript执行停止(包括时间间隔和超时)时,外部资源(JS、CSS、图像和xmlhttprequests)可能会完成加载。但是,在alert()之后的代码完成之前,这些外部脚本都不会运行,也不会触发任何DOM事件。

当alert()发挥作用时的一个例子:http://jsfiddle.net/p9Nff/

票数 1
EN

Stack Overflow用户

发布于 2011-02-26 01:54:33

这是一个与异步有关的问题,你有没有尝试强制异步为false?

当警报打开时,脚本有时间加载您的插件。或者就像Alexey说的,你的DOM还没准备好,把你的代码放到$(function(){ /code here/ })中;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5120430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档