基本上,我正在使用一个现有的 jQuery 插件,我希望有 2 个可从 Jquery 使用的实例。
所以对于这个html:
<div id="div_1"></div>
<div id="div_2"></div>
我将能够做到这一点:
$('#div_1').myplugin();
$('#div_2').copy_of_myplugin();
现在 myplugin 正在由我从 html 文件顶部的外部源中提取的脚本加载。
如果我console.log($());
可以看到所有本机 jQuery 方法的列表以及插件脚本添加的方法。
基本上,经过一些研究,我认为这样的事情应该可行,但我无法确切地知道如何去做。
$.fn.copy_of_my_plugin = function () {
return this.each(function () {
var instance = $(this);
if (instance.data('copy_of_my_plugin')) {
return;
}
var copy_of_my_plugin = new $.extend(true, {}, $.fn.myplugin);
instance.data('copy_of_my_plugin', copy_of_my_plugin);
});
};
我可以console.log($());
再次看到 copy_of_my_plugin 被添加到 jquery 中,但看起来 myplugin 函数的任何内容实际上都没有被复制。
有人知道我做错了什么吗?