Javascript 检查jQuery中是否已初始化插件?
我正在使用jQuery插件(V4),从我所看到的情况来看,它们没有初始化的Javascript 检查jQuery中是否已初始化插件?,javascript,jquery,jquery-plugins,jquery-select2,jquery-select2-4,Javascript,Jquery,Jquery Plugins,Jquery Select2,Jquery Select2 4,我正在使用jQuery插件(V4),从我所看到的情况来看,它们没有初始化的事件;但我需要在初始化后运行一些代码 通过初始化我的意思是,它已经完成,与它相关的所有元素现在都准备好了 我看到了,但似乎没有一个答案能够解决不断检查的问题,直到它变得可用;比如,如果第一次检查时它不在那里,那么需要运行的代码就不会运行 我曾想过将setInterval与上述内容结合使用,但不确定是否有更好的方法?异步的唯一方法是在获取远程数据时,因此可以将回调注入到该ajax中 如果有多个ajax调用,请使用延迟: va
事件;但我需要在初始化后运行一些代码
通过初始化我的意思是,它已经完成,与它相关的所有元素现在都准备好了
我看到了,但似乎没有一个答案能够解决不断检查的问题,直到它变得可用;比如,如果第一次检查时它不在那里,那么需要运行的代码就不会运行
我曾想过将setInterval
与上述内容结合使用,但不确定是否有更好的方法?异步的唯一方法是在获取远程数据时,因此可以将回调注入到该ajax中
如果有多个ajax调用,请使用延迟:
var deffered1 = $.Deferred();
在success
和error
之后的ajax调用中,使用以下代码解决这些调用
complete:function(){
deffered1.resolve()
}
以及订阅活动:
$.when(deffered1, deffered2).done(function() {
// your initialized actions
})
如果页面上有多个select
元素需要转换为select2下拉列表
,则可以使用以下选项:
如果页面上只有一个选项,则可以执行以下操作:
希望有帮助。只需检查“初始化”的含义:在使用$('select')调用Select2()之前,是否要检查Select2是否已下载并注册为jQuery函数代码>?或者是否要检查$('select')。select2()代码>在做其他事情之前完成了吗?@Lesley对不起,我是说完成了。我已经更新了我的问题。你链接到的问题是关于检查插件是否已下载并注册为jQuery函数。如果您想在调用select2()
完成后执行某项操作,我的第一个想法是:为什么不在调用select2后将要执行的操作的代码放到post init中呢<代码>$(“#我的选择”)。选择2();log('这应该在select2()完成后发生')
@Lesley在调用select2
后向其发出命令时,由于JavaScript默认是同步的,而不是异步的,那么这是否意味着select2
在之后运行代码时不一定完成执行?这取决于select2在引擎盖下的操作。。。我想它可能在真正完成之前说return
,然后由于某种异步回调或其他原因做进一步的工作。你是否有一种情况表明情况是这样的?