Странные кнопки ввода внутри меток поведения обработчика onClick - PullRequest
0 голосов
/ 30 июля 2010
<!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.Когда я нажимаю «сначала», отображается «сначала».Когда я нажимаю «второй», отображается «второй, а затем« первый »? Это странное поведение onClick из-за тегов (входных данных) уровня блока во встроенном теге (метке)?

Ответы [ 2 ]

1 голос
/ 30 июля 2010

Да, это происходит во многих браузерах (ну во всех тех, которые я установил в любом случае), и это происходит с тегами span (которые также встроены).

Если это форма, она должна гласить:

<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 голосов
/ 30 июля 2010

Ваши кнопки вложены в один элемент label. Когда вы нажимаете на второй button, Firefox активирует label, а затем первый button. Вы должны разделить свои label, как предлагает @ jamie-wilson.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...