繁体   English   中英

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

[英]How to initialize a JQuery plugin for elements added dynamically

在此JSFiddle中 ,我有两个table.inner-table元素,它们最初是在HTML中添加的。 Spectrum插件适用于所有input.basic元素,即单击该元素可打开颜色选择器窗口。

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

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

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

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

我尝试过的是:

我看到了这个问题 ,并在JS中添加了以下内容。 没用=(

$('body').on('focus', '.basic', function() {
    $(this).spectrum({});
});
var table = $('.outer-table > tbody > tr:last').clone();
$(table).find('.sp-replacer').remove();
$('.outer-table > tbody').append(table);
$(".basic").spectrum({});

如果单击按钮,它将重新初始化$(".basic").spectrum({});

这是一个小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM