禁用IE9中的链接 - 原型stop()不起作用

Gro*_*een 9 javascript prototypejs dom-events internet-explorer-9

IE9仍处于测试阶段,但同样如此,这是一个问题:

使用prototype.js 1.6.1,将单击事件添加到链接的正确表单,以及覆盖默认链接行为,将是:

mylink.observe('click', function(e){
   doSomething();
   e.stop();
});
Run Code Online (Sandbox Code Playgroud)

虽然这在我尝试的每个其他浏览器中都能很好地工作,但IE9是一个独特的案例.触发默认事件行为,我的链接将我带到链接的位置.似乎stop()没有在IE9中完成它的工作.

以下代码在IE9中完美运行:

mylink.onclick = function(){
   doSomething();
   return false;
}
Run Code Online (Sandbox Code Playgroud)

知道我可以做些什么来修复IE9中使用的原型方法吗?

Liv*_*uel 9

prototype.js版本低于1.7会浏览器嗅探以应用跨浏览器兼容的修复程序.

prototype.js用它的实现覆盖本机方法,在IE 9中失败; 尽管它支持DOM Level 2 Events.

较新版本的prototype.js没有这个问题,因为它具有'特征检测'而不是'浏览器嗅探'