私はjQueryプラグインを書いていますが、次のように複数の機能を利用できるようにしたかったのです:
//Calling the "constructor"
$(element).pluginName();
//Calling the "method"
$(element).pluginName.methodName();
だから私が基本的にやったことはこれでした:
(function($, window, document, undefined) {
//The "constructor"
$.fn.pluginName = function() {
//try accessing $(this)
var meh = $(this);
};
//The "method"
$.fn.pluginName.methodName = function() {
//try accessing $(this)
var test = $(this);
};
})(jQuery)
上記のボックスで説明したとおりに呼び出すと、「コンストラクター」に対して機能します。しかし、「メソッド」を試すと、エラーが発生します。
TypeError: document is null
http://(url)/jquery.js
safeFrag = document.createDocumentFragment();
Line 5823
ここで面白い部分に:「メソッド」の名前を に変更すると$.fn.pluginNameMethodName
(基本的に、最後の を削除すると.
)、 を呼び出すことで「メソッド」を呼び出すことができます$(element).pluginNameMethodName();
。
それで、私は何を間違っていますか?
プラグインに複数の簡単にアクセスできるメソッドを持たせたい (プラグインのメソッドを で呼び出させたくない$(element).pluginName(methodName);
)。