>웹 프론트엔드 >JS 튜토리얼 >브라우저 전체에서 비활성화된 입력 필드의 클릭 이벤트를 어떻게 처리할 수 있습니까?

브라우저 전체에서 비활성화된 입력 필드의 클릭 이벤트를 어떻게 처리할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-19 14:14:09570검색

How Can I Handle Click Events on Disabled Input Fields Across Browsers?

비활성화된 입력 시 클릭 이벤트 처리

HTML 문서에서 비활성화된 입력 필드는 마우스 이벤트에 응답하지 않습니다. 일부 브라우저에서는 비활성화된 입력의 이벤트를 상위 요소로 전파하는 것이 가능할 수 있지만 Firefox는 이 동작을 지원하지 않습니다. 따라서 브라우저 간 비활성화된 입력에 대한 이벤트 처리를 활성화하는 해결 방법이 필요합니다.

한 가지 해결 방법은 비활성화된 입력 위에 투명한 div 요소를 배치하는 것입니다. 이 div는 클릭 이벤트를 캡처하고 입력 및 포커스 설정에서 비활성화된 속성을 제거하는 등의 작업을 트리거합니다.

예제 HTML:

<div>

jQuery:

$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});

이 스크립트는 클릭 후 div 요소를 숨기고 활성화합니다. 비활성화된 입력. 입력도 포커스를 받아 사용자가 즉시 상호 작용할 수 있습니다.

작업 예:

http://jsfiddle.net/RXqAm/170/

이 해결 방법을 구현함으로써 개발자는 비활성화된 입력 필드가 여전히 클릭 이벤트를 수신하고 모든 주요 항목에서 원하는 작업을 트리거할 수 있도록 보장할 수 있습니다. 브라우저.

위 내용은 브라우저 전체에서 비활성화된 입력 필드의 클릭 이벤트를 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.