做一个项目时,突然发现,禁用超链接后,还是可以进行点击操作,之前从未遇到这种状况.更为奇怪的是同样的代码在另一个项目中禁用就可以生效;
通过一项项排查,问题定位在了web.config的一段代码:
< httpProtocol >
< customHeaders >
< clear />
< add name = " 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); } } }