如何为动态添加的元素初始化JQuery插件

时间:2016-05-08 11:19:35

标签: javascript jquery html jquery-plugins spectrumjs

在这个JSFiddle中,我有两个table.inner-table元素,这些元素最初是在HTML中添加的。 Spectrum plugin适用于所有input.basic元素,即单击元素会打开颜色选择器窗口。

JSFiddle 最初在HTML中只有一个table.inner-table元素。单击标记为“单击”的按钮时,会添加另一个table.inner-table。问题出在这个新添加的表中的input.basic个元素。 点击它们不会打开颜色选择窗口

我怀疑是因为颜色选择器已经初始化,所以它不适用于动态添加的元素。在JS中,插件初始化如下:

$(".basic").spectrum();

问题是如何让它适用于动态添加的元素?

我做了什么:

我看到this question,并将以下内容添加到JS中。没工作=(

$('body').on('focus', '.basic', function() {
    $(this).spectrum({});
});

1 个答案:

答案 0 :(得分:2)

$(".basic").spectrum({});

如果单击按钮,它将重新初始化auth_pam

这里是documentation