jQueryのイベントネームスペース

先日社内のPGに教えてもらったのですが、jQuery(1.2.0以降)ではイベントに名前空間を指定できるようです。


$('a').mouseover(function () { console.log('over!'); });
// -> a tagにカーソルを乗せるとconsoleに'over!'を出力

$('a').bind('mouseover.tmp', function () { console.log('tmp!'); });
// -> a tagにカーソルを乗せるとconsoleに'over!'と'tmp!'を出力

$('a').unbind('.tmp');
// -> a tagにカーソルを乗せるとconsoleに'over!'を出力

$('a').unbind('mouseover');
// -> a tagにカーソルを乗せても何も出力されない

この方法を使えばplugin等でイベントを使用する場合でも、外部への影響を少なくできそうです。

ちなみに、このブログ(tech.kayac.com)ではGoogleAPIsを使用してjQueryを読み込んでいるので、consoleの存在するブラウザ(firebugの入ったfirefox等)なら上記のコードをそのままお試しいただけます。