DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 超鏈接的禁用屬性Disabled使用示例
超鏈接的禁用屬性Disabled使用示例
編輯:關於JavaScript     

可以設置超鏈接的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 一個超鏈接為在以下,
<a DISABLED="true" href="http://www.microsoft.com/" rel="external nofollow" rel="external nofollow" >Where do you want to go today?</a>
用戶仍可以單擊超鏈接,然後 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>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved