問題:
停用表格儲存格(
原因:
標準方式不支援直接停用錨標記 ()。
解決方案:
使用CSS,你可以停用連結的指標事件:
a.disabled { pointer-events: none; }
優點:這是具有良好跨瀏覽器支援的首選方法。
缺點: 僅禁用指針交互,而不禁用鍵盤導航。
透過設定負tabindex來防止連結取得焦點:
<a href="#" disabled tabindex="-1">...</a>
優點:停用鍵盤導覽以及指標互動。
缺點: 需要測試與多個瀏覽器的相容性。
綁定一個點擊處理程序,檢查停用狀態並防止預設操作:
$("td > a").on("click", function(e) { if ($(this).is("[disabled]")) { e.preventDefault(); } });
優點:適用於大多數瀏覽器,具有各種事件處理程序。
缺點:需要JavaScript 並更多地改變連結的行為
從連結中刪除href 屬性:
$("td > a").each(function() { this.data("href", this.attr("href")) .attr("href", "javascript:void(0)") .attr("disabled", "disabled"); });
優點:更直接的解決方案,可以更改連結的功能。
缺點:可能不與所有導航方法相容連結。
新增一個總是回傳false 的點擊處理程序:
$("td > a").attr("disabled", "disabled").on("click", function() { return false; });
優點:功能與之前的方法類似.
缺點:可能會在某些情況下引入記憶體洩漏或其他問題瀏覽器。
新增CSS 樣式以直觀地指示停用的連結:
a[disabled] { color: gray; }
包含aria-disabled="true"可訪問性屬性:
<a href="#" disabled tabindex="-1" aria-disabled="true">...</a>
以上是如何在不同瀏覽器中有效停用 HTML 中的超連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!