비활성화된 입력 필드에서 이벤트를 캡처하는 방법
비활성화된 입력 필드는 일반적으로 이벤트 리스너를 처리하지 않습니다. 이러한 입력과의 사용자 상호 작용을 기반으로 기능을 활성화해야 하는 경우 이는 어려울 수 있습니다.
해결 방법:
이 문제를 극복하려면 이벤트 핸들러를 설정할 수 있습니다. 컨테이너 요소에서는 브라우저가 비활성화된 요소에서 발생하는 이벤트를 DOM 트리 위로 전파하는 경우가 많기 때문입니다. 그러나 Firefox와 같은 특정 브라우저는 이러한 방식으로 작동하지 않습니다.
크로스 브라우저 솔루션:
완전한 크로스 브라우저 호환성을 위해 투명 브라우저를 배치할 수 있습니다. 비활성화된 입력 필드 앞에 <div>와 같은 요소를 추가합니다. 이 요소는 클릭 이벤트를 캡처합니다.
<div>
$("div > div").click(function (evt) { $(this).hide().prev("input[disabled]").prop("disabled", false).focus(); });
이 해결 방법을 사용하면 투명 오버레이의 클릭 이벤트가 비활성화된 입력 필드를 활성화하고 포커스를 제공합니다.
데모:
다음에서 이 솔루션의 실제 작동 모습을 볼 수 있습니다. http://jsfiddle.net/RXqAm/170/ (attr 대신 prop과 함께 jQuery 1.7 사용).
위 내용은 비활성화된 입력 필드에서 이벤트를 어떻게 캡처할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!