2010-07-30 6 views
0
<!DOCTYPE HTML PUBLIC "-//WC3/DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html> 
<body> 
<label>A label 
<input type="button" value="First" onClick="alert('First');" /> 
<input type="button" value="Second" onClick="alert('Second');" /> 
</label> 
</body> 
</html> 

Firefox 3.6.8에서이 코드를 사용해 보았습니다. "first"를 클릭하면 "first"가 표시됩니다. "초"를 클릭하면 "두 번째"와 "첫 번째"가 표시됩니까? 인라인 태그 (라벨)의 블록 수준 태그 (입력)로 인해 이상한 onClick 동작입니까?라벨 안에있는 이상한 입력 버튼 onClick 처리기 동작

답변

1

그래, . 브라우저 (물론 모든 사람 어쨌든 설치)하고 (인라인도있는)

이 형태의 경우 스팬 태그로 발생, 읽어야

<label for="First">First</label> 
<input type="button" value="First" id="First" onclick="alert('First');" /> 
<label for="Second">Second</label> 
<input type="button" value="Second" id="Second" onclick="alert('First');" /> 

그렇지 않을 경우, 시도 span 태그 대신

0

버튼이 하나의에 중첩되어 있습니다.3210 요소 두 번째 button을 클릭하면 Firefox는 label을 활성화 한 다음 처음으로 button을 활성화합니다. @ jamie-wilson이 제안한대로 label을 나눠야합니다.