【发布时间】:2016-09-21 18:11:29
【问题描述】:
我正在使用select2 jQuery 插件(V4),据我所知,他们没有onInitialized 事件;但我需要在初始化之后运行一些代码。
初始化我的意思是它已经完成并且所有与之关联的元素现在都准备好了。
我看到了this question,但似乎没有一个答案能解决不断检查直到可用的问题;比如如果你第一次检查它不存在,那么你需要运行的代码就不会运行。
我曾想过将setInterval 与上述类似的方法一起使用,但不确定是否有更好的方法?
【问题讨论】:
-
只是检查您所说的“初始化”是什么意思:您想在使用
$('select').select2();调用它之前检查 Select2 是否已下载并注册为 jQuery 函数?或者你想在做其他事情之前检查$('select').select2();是否完整? -
@Lesley 抱歉,我的意思是完成。我已经更新了我的问题。
-
您链接到的问题是关于检查插件是否已下载并注册为 jQuery 函数。如果你想在调用
select2()完成后做某事,我的第一个想法是:为什么不把你想做的事情的代码放在调用 Select2 之后呢?$('#my-select').select2(); console.log('This should happen after select2() is done'); -
@Lesley 虽然你在 after 调用
select2之后给它命令,因为 JavaScript 在默认情况下是同步的而不是异步的,那么这不意味着select2后面运行代码不一定就执行完了? -
这取决于 Select2 在幕后所做的事情......我想它可能会在它真正完成之前说
return,然后由于一些异步回调或其他原因而进一步工作。您是否有表明这种情况的情况?
标签: javascript jquery jquery-plugins jquery-select2 jquery-select2-4