57
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

jQuery プラグイン書くときのスケルトン[最終版]

元々どこかで見つけたスケルトンからスタートして、自分なりに変更していった結果なのだけれども、jQuery プラグイン書き始めるときのスケルトンが落ち着いてきたのでメモっておきます。

解説付き

(function($){
    // やっぱり $ で書くのが慣れているので。グローバルの $ は信用しちゃだめですよ。
    $.fn.myPlugin = function(options) {
        // プラグイン呼び出しの際に、オプション値をマップでもらう事を前提としています。
        // extend でデフォルト値に被せると「値がないかも」という心配が要らなくなります。
        options = $.extend({
            'name1': 'val1',
            'name2': 'val2'
        }, options);
        // 複数の要素が選択されている可能性があるので each で実装。
        // jQuery のマナー的に、自分自身を return するのを忘れてはいけません。
        return this.each(function(){
            console.log(this, options);
        });
        // 複雑なことをしないなら下記みたいな感じでも OK です。
        // プラグイン化したくなるような時は、シンプルにすまない時がほとんどですが…。
        return this.css(/* ... */).animate(/* ... */);
    }
})(jQuery);

貼り付け用

(function($){
    $.fn.myPlugin = function(options) {
        options = $.extend({
        }, options);
        return this.each(function(){
        });
    }
})(jQuery);
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
57
Help us understand the problem. What are the problem?