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

时间:2016-05-24 13:29:14

标签: javascript jquery jquery-plugins jquery-select2 jquery-select2-4

我正在使用select2 jQuery插件( V4 ),而我可以看到他们没有 allPanel.RowCount = 10; allPanel.ColumnCount = 10; allPanel.Padding = 10; allPanel.BackColor = Color.Green; allPanel.AutoSize = true; allPanel.Dock = DockStyle.Fill; allPanel.RowStyles.Clear(); allPanel.ColumnStyles.Clear(); windowsForm.Controls.Add(allPanel); for (int i = 0; i < 10; i++) { allPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent,10)); } for (int i = 0; i < 10; i++) { allPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 10)); } for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { boardTiles[i, j] = new Panel(); boardTiles[i, j].BackColor = Color.White; allPanel.Controls.Add(boardTiles[i, j], i, j); } } 个事件;但我需要在初始化之后运行一些代码

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

我看过this question,但没有一个答案似乎解决了在可用之前不断检查的问题;就像第一次检查时不存在一样,那么你需要运行的代码就不会运行了。

我想过使用onInitialized上面的内容,但不确定是否有更好的方法?

2 个答案:

答案 0 :(得分:0)

当你获取远程数据时,你可以去异步的唯一方法,所以你可以在那个ajax注入回调。

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

var deffered1 = $.Deferred();

successerror之后的ajax调用中,使用以下代码来解析这些调用。

complete:function(){
    deffered1.resolve()
}

订阅活动:

$.when(deffered1, deffered2).done(function() {
    // your initialized actions
})

答案 1 :(得分:0)

如果您的网页上有多个select元素需要转换为select2 dropdown,那么您可以使用以下内容:Multi Select version

如果您在页面上只有一个选择,则可以使用以下内容: Single Select option:

希望它有所帮助。