Javascript で関数の呼び出し元オブジェクト(Caller)をあらかじめ指定したいときは、fn.call(obj) を使う。 例えば、こんな感じ。Firebug が入ってなければ、console.log() を 換わりに alert() とすればOK。 Caller の束縛 function fn() { console.log(this.attr); }; var cat = { attr: "nyan" }; // caller を束縛する function bind(fn, obj) { return function() { fn.apply(obj); }; }; // bind var fn_bound = bind(fn, cat); document.getElementById('kuma').onclick = fn_bound; 操作対象のHTMLの例 <!D