检查插件是否已在 jQuery 中初始化?

Bre*_*ett 5 javascript jquery jquery-plugins jquery-select2 jquery-select2-4

我正在使用select2 jQuery 插件(V4),据我所知,他们没有onInitialized事件;但我需要在初始化后运行一些代码。

我所说的初始化是指它已经完成,并且与其关联的所有元素现在都已准备就绪。

我看到了这个问题,但似乎没有一个答案解决了不断检查直到可用的问题;就像如果您第一次检查时它不存在一样,那么您需要运行的代码将不会运行。

我想过使用setInterval类似上面的东西,但不确定是否有更好的方法?

小智 0

异步的唯一方法是在获取远程数据时,这样您就可以在该 ajax 中注入回调。

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

var deffered1 = $.Deferred();
Run Code Online (Sandbox Code Playgroud)

在您的 ajax 调用之后successerror使用以下代码来解决这些调用。

complete:function(){
    deffered1.resolve()
}
Run Code Online (Sandbox Code Playgroud)

并订阅事件:

$.when(deffered1, deffered2).done(function() {
    // your initialized actions
})
Run Code Online (Sandbox Code Playgroud)