我正在使用select2 jQuery插件( V4 ),从中可以看到它们没有onInitialized事件;但是我需要在初始化后运行一些代码。

通过初始化,我的意思是它已经完成,并且与之关联的所有元素现在都已准备就绪。

我看到了this question,但是没有一个答案似乎可以解决不断检查直到可用的问题。例如,如果您第一次检查时不存在该代码,那么您需要运行的代码将无法运行。

我想到了将setInterval与上述类似的用法,但不确定是否有更好的方法?

最佳答案

异步的唯一方法是在获取远程数据时,因此可以在该Ajax中注入(inject)回调。

如果您有多个ajax调用,请使用deferred:

var deffered1 = $.Deferred();

successerror之后的ajax调用中,使用以下代码解决这些调用。
complete:function(){
    deffered1.resolve()
}

并订阅 Activity :
$.when(deffered1, deffered2).done(function() {
    // your initialized actions
})

10-05 19:46