비활성화 된 요소는 일부 브라우저에서 클릭을 "먹습니다"-응답하지 않으며 요소 나 컨테이너의 어느 곳에서나 이벤트 처리기에서 캡처 할 수 없습니다.
IMHO가 이것을 간단하게 수정하는 가장 간단하고 깨끗한 방법 (실제로 OP처럼 비활성화 된 요소에 대한 클릭을 캡처해야하는 경우)은 다음 CSS를 페이지에 추가하는 것입니다.
input[disabled] {pointer-events:none}
비활성화 된 입력을 클릭하면 부모 요소로 넘어 가서 정상적으로 캡처 할 수 있습니다. (여러 개의 비활성화 된 입력이있는 경우, 각각이 별도의 <span>
또는 <div>
, 예를 들어-비활성화 된 입력을 쉽게 구별 할 수 있도록 그러한 방식으로 배치되지 않은 경우 각 컨테이너를 개별 컨테이너에 넣기를 원할 수 있습니다) 클릭).
단점은 불행히도이 속임수는 pointer-events
CSS 속성을 지원하지 않는 구형 브라우저에서는 작동하지 않는다는 것 입니다. (IE 11, FF v3.6, Chrome v4에서 작동해야 함) : caniuse.com/#search=pointer-events
구형 브라우저를 지원해야하는 경우 다른 답변 중 하나를 사용해야합니다!