做一个项目时,突然发现,禁用超链接后,还是可以进行点击操作,之前从未遇到这种状况.更为奇怪的是同样的代码在另一个项目中禁用就可以生效;
通过一项项排查,问题定位在了web.config的一段代码:
<httpProtocol> <customHeaders> <clear/> <addname="X-UA-Compatible"value="IE=EmulateIE7"/> </customHeaders> </httpProtocol> 这段代码的含义是在ie8+浏览器里以ie7模式渲染.所以问题就指向了ie7下超链接禁用不起作用(实验验证了我的想法); 所以现在要解决的问题就是ie7及以下的浏览器里如何是超链接禁用失效. 解决方案主要思路是:在超链接的onclick时间里根据disabled的值返回true or false; 通用写法如下:
function aOnClick(url) {
e = e || event;
var t = e.target || e.srcElement;
if (t.disabled) {
window.open(url);
}
}
}