문제:
테이블 셀 내의 링크 버튼(
원인:
앵커 태그()를 직접 비활성화하는 것은 표준 방식으로 지원되지 않습니다.
해결책:
CSS를 사용하여, 링크에 대한 포인터 이벤트를 비활성화할 수 있습니다.
a.disabled { pointer-events: none; }
장점: 이는 브라우저 간 지원이 우수하므로 선호되는 방법입니다.
단점: 키보드 탐색이 아닌 포인터 상호 작용만 비활성화합니다.
음수 탭 인덱스를 설정하여 링크가 포커스를 얻지 못하도록 방지합니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!