$.proxy()的な関数の自作

var self = this;のようなコードを書かなくて済む機構。まだテスト不足かも。


2012年10月18日、IEでエラーが出ていた問題の解消法の追記と、eventが受け取れなかった問題を解消するために変更を加えた。


JavaScript


function ReplaceGmaps() {
    // Do Something
}

ReplaceGmaps.prototype = {
    proxy: function (obj, fn) {
        return function () {
            fn.apply(obj, arguments);
        };
    },

    replace: function () {
        // Do Something
    },

    init: function () {
        event.add(this.target, "click", this.proxy(this, function (e) {
            this.replace();
        }));
    }
}