基本的に、私は既存の jQuery プラグインを使用しており、Jquery から 2 つのインスタンスを使用できるようにしたいと考えています。
したがって、このhtmlの場合:
<div id="div_1"></div>
<div id="div_2"></div>
私はこれを行うことができます:
$('#div_1').myplugin();
$('#div_2').copy_of_myplugin();
これで、html ファイルの上部にある外部ソースからプルしたスクリプトによって、myplugin がロードされます。
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);
});
};
copy_of_my_plugin が jquery に追加されていることがわかりconsole.log($());
ますが、myplugin 関数の内容は実際にはコピーされていないようです。
誰が私が間違っているのか分かりますか?