背景:
在某些情況下需要停用HTML 鏈接,例如當按鈕代表連結變為無效。儘管在 Internet Explorer 中很簡單,但此任務在 Firefox 和 Chrome 等瀏覽器中卻具有挑戰性。
原因:
HTML 元素缺少本機「disabled」屬性,使得阻止連結點擊變得困難以程式設計方式。
解決方案:
1. CSS 指標事件:
a.disabled { pointer-events: none; }
此方法停用連結上的指標,防止點擊和懸停。但是,較舊的瀏覽器可能不支援它。
2.焦點 Tabindex:
<a href="#" disabled tabindex="-1">...</a>
設定 tabindex="-1" 可防止連結取得焦點,從而有效地停用它。
3.攔截點擊 (JavaScript):
$("td > a").on("click", function(event) { if ($(this).is("[disabled]")) { event.preventDefault(); } });
此方法攔截點擊事件並阻止它們到達禁用的連結。
4.清除連結 (JavaScript):
$("td > a").each(function() { this.data("href", this.attr("href")) .attr("href", "javascript:void(0)") .attr("disabled", "disabled"); });
此方法清除連結的 href 屬性,防止其被追蹤。
5.假點擊處理程序 (JavaScript):
$("td > a").attr("disabled", "disabled").on("click", function() { return false; });
此方法新增一個傳回 false 的點擊處理程序,從而有效停用連結。
樣式:
a[disabled] { color: gray; }
此規則設定禁用連結的樣式
ARIA屬性:
<a href="#" disabled aria-disabled="true">...</a>
包含「aria-disabled」以實現輔助功能,指示輔助技術連結的停用狀態。
以上是如何在現代瀏覽器中停用 HTML 連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!