私はjQueryプラグインのアーキテクチャが大好きですが、プラグインインスタンスへの参照を保持してプロパティやプロパティにアクセスしたいときは、メソッドは後で私のコードで。jQueryプラグインのパブリック関数
編集:私は、私はそれらを使用できるように、後で
はのケースを取ることができます、私が本当にやろうとしていますが、プラグイン内で使用されるメソッドとプロパティへの参照を保持していることを明確にしたいですAJAX読み込みアイコンより伝統的なOOP環境では、私が行うことができます:
var myIcon = new AJAXIcon();
myIcon.start();
//some stuff
myIcon.stop();
私のオブジェクトのメソッドとプロパティは、後で使用するために変数に保存されます。今、私はjQueryプラグインで同じ機能を持つようにしたい場合は、私は多少このように私のメインのコードからそれを呼び出します。慣例により
$("#myId").ajaxIcon()
、私のプラグインが可能私のプラグインに渡された元のjQueryオブジェクトを返す必要があります私がそれを行うと、プラグインインスタンスのメソッドやプロパティにアクセスする能力が失われてしまいます。
さて、私はあなたが、元のjQueryオブジェクトを返すの慣習を壊すことなく、ややしかし
$.fn.ajaxIcon = function(options) {
return this.each(function() {
//do some stuff
}
}
$.fn.ajaxIcon.stop = function() {
//stop stuff
}
の線に沿って、私のプラグインでパブリック関数を宣言することができることを知って、私は保持することはできません私が参照したいプラグインの特定のインスタンスへの参照。
私はこのような何かをできるようにしたいと思います:
var myIcon = $("myId").ajaxIcon(); //myIcon = a reference to the ajaxIcon
myIcon.start();
//some stuff
myIcon.stop();
任意の考えを?
これは、あなたがここで説明した内容を超えても優れた方法です... var myPlugin = $( 'id')。myPlugin()。otherFunction()。hide()とmyPluginは、 jQuery関数に渡されるDOMノードに追加されるため、正しい関数を使用する必要があります。 – Daniel
数日後にこれを理解しようとすると、神に感謝します。これはここにあります。2009年以来、これに関する開発はありますか? – Ryan
便利なヒントありがとうございました:) –