Mach3.laBlog

jQuery.class.jsをアップデートしました

この記事は賞味期限切れです。(更新から1年が経過しています)

ちょっと使う予定が出来たのもあり、jQuery.class.jsの内容を見直してみました。

jQuery.class.jsをアップデートしました

jQuery.class.js

Prototype.jsライクなclassを生成する為のシンプルなライブラリ。
cf ) jQueryでPrototype.js風のクラス定義をしてみる | Mach3.laBlog

更新内容

  • jQuery.on/off()でイベントを扱えるようにしました

これだけです。
jQuery 1.7+ で使えるようになったon/off()メソッドに対応しました。
従来通りbind/unbindも使えます。
また、あわせて例示を大きく改めました

var Data = Class.create();
Data.prototype = {
    EVENT_ITEM_ADDED : "item_added",
    items : [],
    addItem : function(){
       for(i in arguments){
          this.items.push(arguments[i]);
       }
       this.trigger(this.EVENT_ITEM_ADDED);
    },
    getItemCount : function(){
       return this.items.length;
    }
};

var myData = new Data();
var onAdded = function(){
    console.log("Items added. I have " + this.getItemCount() + " items now.");
};

/**
 * on()でイベントリスナの追加
 * bind()でも可
 */
myData.on(myData.EVENT_ITEM_ADDED, onAdded);
myData.addItem("hoge"); // => Items added. I have 1 items now.
myData.addItem("fuga","foo","bar"); // => Items added. I have 4 items now.

/**
 * off()でイベントリスナの解除
 * unbind()でも可
 */
myData.off(myData.EVENT_ITEM_ADDED, onAdded);
myData.addItem("piyo"); // (nothing occurs)

また、少し自分でまともに運用してみて、欲しいメソッドがあれば新たに生やすかもしれません。
何かありましたらどうぞ。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

Mattyb03bc4e27757e531cbf04a1e44abd0a5
Stellar work there evenroye. I'll keep on reading.