IE9+prototype.jsの組み合わせでEvent.stop系の処理が素通りされる(未解決)

IE9prototype.jsのver1.5.0_rc0で起きたバグ。prototype.jsを最新版にしろってことか。
下のソースはlightbox.jsの一部にコードを追加したもの(document.observeもどうかと思うけどさ…)

        document.observe('click', (function(e){
            var target = e.findElement('a[rel^=lightbox]') || e.findElement('area[rel^=lightbox]');
            if (target && target.href) {
	        Event.stop(e);
	        this.start(target);
            	e.returnValue = false;
            	e.preventDefault();
            	e.stopPropagation();
            }
        }).bind(this));

Event.stop(e)
e.returnValue = false
e.preventDefault()
e.stopPropagation()
まったく効かず!


まったく効かない = aリンク先に遷移ということです。oh...
原因は不明ですがprototype.jsのせいでしょうね。対処法もありません。素直にprototype.jsに頼らず書くか、jquery使うかしてください。

(追記)
結局対処不能な問題なんだけど、どうしてこんなことがおきるのか。
おそらくdocument.observe('click', (function(e)のeのオブジェクトとaリンクの処理が紐ついてないのだろうな…このバージョンとIE9の組み合わせの時だけ…なぜw
aリンクをクリック→document.observe('click', (function(e)が発動→処理が終わったらhrefイベント実行
という流れになっている模様。まあ普通の流れ。
document.observeの命令内でJSエラーを起こせば止まるみたい。これも動作としては正しかった気がする。