2

基本的に、私は既存の 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 関数の内容は実際にはコピーされていないようです。

誰が私が間違っているのか分かりますか?

4

1 に答える 1