0

jqueryプラグインパターンのこのコードを見てきました。メモのセクションでは、jQuery.data関数を使用してプラグインをDOM要素にアタッチできると述べています。私が理解していないのは、このコードをどのように利用するかです。誰かがこの機能の使用方法の例を提供し、その重要性を説明できますか?

 $.fn[pluginName] = function (options) {
        return $Extend(this).each(function () {
            if (!$.data(this, 'plugin_' + pluginName)) {
                $.data(this, 'plugin_' + pluginName,
                new Plugin( this, options ));
            }
        });
    };
4

1 に答える 1

1

あなたが具体的に提供したコードのポイントでは、プラグインを再初期化することはできないと思います。

これは、要素に対してプラグインを初めて呼び出すときにdata、プロパティ'plugin_' + pluginNameがすでに設定されているかどうかを確認するためにプラグインをチェックします。もしそうなら、それ以上何もしません。設定されていない場合は、メソッドを呼び出して、new Plugin()に格納しますdata。そうすれば、プラグインメソッドで簡単に取得できます。すべてのメソッドは$(this).data('plugin_' + pluginName)、特にその要素について、プラグインに関するすべてを取得するために使用する必要があります。

したがって、次のように2つのプラグイン呼び出しを行う場合:

$(".class").specialPlugin({
    key1: "value1"
});

$(".class2").specialPlugin({
    key23: "value23"
});

その場合、各要素のデータには、元の設定に固有の情報のみが含まれます。

に実際に格納されるのdataは、new Plugin返されるものであり、簡単に参照できるように、さまざまなものの完全なオブジェクトから元のオブジェクトまで、どこにでも配置できoptionsます。

于 2012-12-06T17:12:05.930 に答える