2010-12-11 10 views
0

jQueryサイトのガイドラインに従って、プラグインを作成しようとしています。jQueryプラグインの先頭にready()を追加できますか?

また、新しいdiv要素を作成するなど、すべてを取り入れることも試みています。

これらのdivはドキュメントの準備が必要なので、ここで最適なオプションを見つけようとしています。

これは私が現在持っているものであり、うまくいきますが、何らかの理由で見えません。どこでも見ることができないとは思えません。

それを行うには良い方法はありますか?

$(document).ready(function() { 
    var message_bar = "<div id="something"></div>"; 
    $('body').prepend(message_bar); 
}); 

(function($){ 
    $.fn.displayMessage = function(options) { 
    ... 

答えて

1

プラグインの場合は、プラグインのユーザーがいつ初期化するかを選択する必要があります。

ユーザーが明示的に呼び出すことができる、またはプラグインのインスタンス化時に暗黙的に呼び出されるinit関数を作成することをお勧めします。

ドキュメントでは、ドキュメントの準備ができるまでプラグインを初期化しないようにするか、ドキュメントの状態を確認して初期化コードをready()キューに追加するコードを書くことができます。すべてのプラグインをロードするが、簡単にプラグインを無効にすることができ、それらを必要としない

ページ:initメソッドにレディ機能を置く

+0

私は実際に動的に作成された要素にbind()を使用しました。しかし、プラグインがインスタンス化されているかどうかを確認できるようにするには、initが必要です。いいですよ。 –

1

は、いくつかの利点があります。準備にあなたのDisplayMessageと()メソッドを実行し、プラグインの実行は、以前のプラグイン自身の準備スクリプトよりレディキューにDisplayMessageと()を置く前に実行

スクリプト。準備完了イベントが発生すると、関数は間違った順序で呼び出されます。

関連する問題