超链接的禁用属性Disabled使用示例
可以设置超链接的Disabled属性的true和false来确定超链接是不是能点击
例如:
<aherf='http://www.baidu.com'onclick='returnclick(this);'disabled='ture'>baidu</a>
上面的意思是不想让baidu的超链生效,但在click不做任何约束和判断的话,但点击baidu的时候自然就会跳转到百度页面,这就是html中超链接禁用属性的bug
可以添加下面js约束来判断超链接是否可以使用
<scriptlanguage='javascript'> functionclick(obj) { if(obj.disabled) { returnfalse; } returnture; } </script>
下面的微软给出的bug解决方案:
借助了全局变量,使用别的按钮来改变disabled的属性,来得到禁用属性的效果.;
BUG:DISABLED属性不在禁用超链接
尽管DISABLED属性设置为True一个超链接为在以下,
<aDISABLED="true"href="http://www.microsoft.com/"rel="externalnofollow"rel="externalnofollow">Wheredoyouwanttogotoday?</a>
用户仍可以单击超链接,然后InternetExplorer导航到所选页。
若要解决此问题,设置返回true或false根据当前的执行上下文的超链接的onclick事件。在下面的代码将全局的MicrosoftJScript变量的值设置为true或false,根据按钮单击中。目标超链接对象的DISABLED属性被更新,以便它能够正确通信其禁用的状态,其他对象并编写脚本页上的功能。
<html> <head> <title>WorkaroundforDISABLEDAttributeProblem</title> <SCRIPT> varcanNav=false; functioncanNavigate(){ returncanNav; } functionload(){ document.all("btn1").innerText="Linkstatus=="+canNav; } functionsetNavigate(linkObj,canNavParam){ if(linkObj!=null){ if(canNavParam==false){ linkObj.disabled=true; }else{ linkObj.disabled=false; } canNav=canNavParam; } } functionupdateBtnStatus(btnName){ varbtn=document.all(btnName); if(btn!=null){ document.all(btnName).innerText="Linkstatus=="+canNav; } } </SCRIPT> </head> <bodyonload="load();"> <aid="lnk1"disabled=truehref="http://www.microsoft.com/"rel="externalnofollow"rel="externalnofollow"onclick="returncanNavigate();">Clickhere</a><p> <buttonid=btn1onclick="setNavigate(document.all('lnk1'),!(canNav));updateBtnStatus('btn1');"> </button> </body> </html>