ハイパーリンクの無効な属性の真と偽を設定して、ハイパーリンクをクリックできるかどうかを判断できます。
例えば:
<a herf = 'http://www.baidu.com' onclick = 'return click(this);' disabled = 'ture'> bai du </a>
上記は、Baiduのハイパーリンクが有効になることを望まないことを意味しますが、クリック時に制約や判断を下さないと、Baiduをクリックすると自然にBaiduページにジャンプします。これは、HTMLのハイパーリンクの無効な属性のバグです
次のJS制約を追加して、ハイパーリンクを使用できるかどうかを判断できます
<スクリプト言語= 'javascript'> function click(obj){if(obj.disabled){return false; }真実を返す; } </script>Microsoftが提供する次のバグソリューション:
グローバル変数の助けを借りて、他のボタンを使用して、無効な属性を変更して、無効化属性の効果を取得します。
バグ:無効プロパティはハイパーリンクを無効にしません
無効プロパティはTrueに設定されていますが、ハイパーリンクは次のとおりですが、
<adabled = "true" href = "http://www.microsoft.com/" rel = "external nofollow" rel = "external nofollow">今日はどこに行きたいですか?</a>
ユーザーは引き続きハイパーリンクをクリックしてから、インターネットエクスプローラーを選択したページに移動できます。
この問題を解決するには、現在の実行コンテキストに基づいて、TrueまたはFalseをハイパーリンクハイパーリンクに返すOnClickイベントを設定します。次のコードでは、グローバルMicrosoft JScript変数値をTrueまたはFalseに設定して、ボタンをクリックします。ターゲットハイパーリンクオブジェクトの無効なプロパティが更新されるため、障害状態、その他のオブジェクト、およびスクリプトページで機能を正しく通信できるようになります。
<html> <head> <title>無効化属性問題の回避策</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 = "rel =" rel = "rel =" rel = "external nofollow" onclick = "connavigate( onclick = "setnavigate(document.all( 'lnk1')、!(cannav)); updatebtnstatus( 'btn1');"> </button> </body> </html>