IE9仍处于测试阶段,但同样如此,这是一个问题:
使用prototype.js 1.6.1,将单击事件添加到链接的正确表单,以及覆盖默认链接行为,将是:
mylink.observe('click', function(e){
doSomething();
e.stop();
});
虽然这在我尝试的其他所有浏览器中都能很好地运行,但IE9是一个独特的案例。触发默认事件行为,我的链接将我带到链接的位置。似乎stop()没有在IE9中完成它的工作。
以下代码在IE9中完美运行:
mylink.onclick = function(){
doSomething();
return false;
}
知道我可以做些什么来修复IE9中使用的原型方法吗?
答案 0 :(得分:9)
prototype.js版本低于1.7会浏览器嗅探以应用跨浏览器兼容的修补程序。
prototype.js用它的实现覆盖本机方法,在IE 9中失败;尽管它支持DOM Level 2 Events。
较新版本的prototype.js没有这个问题,因为它的'特征检测'而不是'浏览器嗅探'
答案 1 :(得分:1)
将以下标记放在<head></head>
:
<meta http-equiv="X-UA-Compatible" content="IE=8" />