可以設定超連結的Disabled屬性的true 和 false來決定超連結是不是能點選
例如:
<a herf='http://www.baidu.com' onclick='return click(this);' disabled='ture'>bai du</a>
上面的意思是不想讓bai du的超鏈生效,但在click不做任何約束和判斷的話,但點擊bai du的時候自然就會跳到百度頁面,這就是html中超鏈接禁用屬性的bug
可以加入下面js約束來判斷超連結是否可以使用
<script language='javascript'> function click(obj) { if(obj.disabled) { return false; } return ture; } </script>
下面的微軟給的bug解:
借助了全域變量,使用別的按鈕來改變disabled的屬性,來得到禁用屬性的效果.;
BUG: DISABLED 屬性不在停用超連結
儘管 DISABLED 屬性設定為 True 一個超連結為在以下,
Where do you want to go today?
使用者仍可以點擊超鏈接,然後 Internet Explorer 導航到所選頁。
若要解決此問題,設定傳回 true 或 false 根據目前的執行上下文的超連結的 onclick 事件。 在下面的程式碼將全域的 Microsoft JScript 變數的值設為 true 或 false ,根據按鈕按一下。 目標超連結物件的 DISABLED 屬性被更新,以便它能夠正確通訊其禁用的狀態,其他物件並編寫腳本頁上的功能。
<html> <head> <title>Workaround for DISABLED Attribute Problem</title> <SCRIPT> var canNav = false; function canNavigate() { return canNav; } function load() { document.all("btn1").innerText = "Link status == " + canNav; } function setNavigate(linkObj, canNavParam) { if (linkObj != null) { if (canNavParam == false) { linkObj.disabled = true; } else { linkObj.disabled = false; } canNav = canNavParam; } } function updateBtnStatus(btnName) { var btn = document.all(btnName); if (btn != null) { document.all(btnName).innerText = "Link status == " + canNav; } } </SCRIPT> </head> <body onload="load();"> <a id="lnk1" disabled=true href="http://www.microsoft.com/" rel="external nofollow" rel="external nofollow" onclick="return canNavigate();">Click here</a><p> <button id=btn1 onclick="setNavigate(document.all('lnk1'), !(canNav));updateBtnStatus('btn1');"> </button> </body> </html>