2017-02-19 1 views
0

입니다. 라디오 입력에 앵커 태그가 싸여 있습니다. 클릭하면 라디오 버튼이 선택되지만 앵커 태그는 아무 것도하지 않습니다.앵커 태그의 클릭 이벤트가 발생하지만 기본값은

<a href="https://stackoverflow.com"> 
    <input type="radio" /> 
</a> 

나는 그것을 클릭 받고 있는지 확인하기 위해 앵커 태그에 온 클릭 핸들러를 추가하는 시도하고 예상대로 일 :

<a onclick="console.log('anchor clicked');" href="https://stackoverflow.com"> 
    <input type="radio" /> 
</a> 

이 또한 앵커 태그가 두 번 그렇게 클릭되는 것을 나에게 보여 주었다 입력 태그에 event.stopPropagation을 추가했습니다.

<a onclick="console.log('anchor clicked');" href="https://stackoverflow.com"> 
    <input onclick="event.stopPropagation();" type="radio" /> 
</a> 

답변

2

잘못된 html5입니다. the spec 일 때 a 요소의 콘텐츠 모델에는 대화 형 콘텐츠를 후손으로 가질 수 없다고 나와 있습니다. 비 숨겨진 input은 대화식 콘텐츠입니다.

+0

CSS에서 '없음'으로 설정되어 있습니다. – epiqueras

+0

@epiqueras 링크를 읽으십시오. 비 숨겨진'input'은'type = hidden '입니다. –

+0

정답입니다.하지만 "숨겨진 입력이 아닌 것"은 *'type = hidden'을 제외한 모든 것입니다. –

관련 문제