jQuery/jQueryプラグインを作る

jQuery/jQueryプラグインを作る

バージョンと製造年月日

2011-08-05 jQuery 1.6.1

形式

基本。

(function($){
    //ここに何か定義を書く
})(jQuery);

ここからの説明はこの即時実行の関数の中でやるものとする

静的メソッドを追加する

いきなりここでjQuery原型のオブジェクトに土足で踏み込むように追加する。なんのシカケもなかったw

$.hogeHoge = function(){
    //ここで何かする
};

ま、使うときはこんな感じ

$.hogeHoge();

jQueryオブジェクトへメソッド追加する

↑では原型のオブジェクトに直接追加しているがこの場合は「$関数」で発生させるjQueryオブジェクトにメソッドを追加する

$.fn.hoge = function(){
        //何か処理 thisはjQueryオブジェクト
};

「fnプロパティ」にいきなり関数をぶち込んでOK たいしたことじゃない、「fnプロパティ」はjQueryの原型オブジェクトのprototypeなのだ

逆に言うとこれはprototypeなので処理しか書いてはだめ。

このぶち込んだ関数内ではthisはjQueryオブジェクトになる

プライベートメンバを作る

方針を考える。プラグインにおいては核になるのはthisが指し示すjQueryオブジェクトだ。核に後付でプロパティを突っ込むのではそれはpublicになってしまうのでよろしくない。ということで無名関数空間を勝手に切ってそこにアンカーを打ち込んだ変数をクロージャでpublicなメソッドに持ち込む方法が考えれるな。

無名空間を勝手に切るならばオブジェクトのnewに関与しなければならない

イロイロ考えて無理っぽいのでpublicでイイじゃんということでw。

jQueryオブジェクトへメソッド追加する

javascript/jquery/make_jquery_plugin.txt · 最終更新: 2012-04-03 10:11 by ore