Я пытаюсь создать веб-форму, содержащую флажки, среди других элементов ввода, и я хотел бы предоставить пользователю возможность проверить и снять флажки при нажатии на обертывающий div элемент.Несколько событий во вложенных элементах
Вот пример HTML:
<div class="line">
<input type="checkbox" />
<p>No, I don't want more newsletters</p>
</div>
достаточно просто. Теперь, когда пользователь нажимает на этот флажок, он получает check/unchecked, и событие пузырится до элемента div.line, что может изменить его цвет фона или что-то в этом роде. Теперь, как я уже сказал, я также хочу, чтобы пользователь мог манипулировать значением флажка, нажав на div. Звучит достаточно просто; мы просто добавляем наблюдателя в элемент div.line, улавливаем событие и переключаем значение флажка. Ну, вот в чем проблема: Когда вы нажимаете на этот флажок, это значение переключается. Однако, поскольку он находится внутри div, вы также нажимаете на div, вызывая его наблюдателя, который, в свою очередь, переключает значение флажка еще раз. Таким образом, вы в конечном итоге, где вы начали. Возникают два переключения.
Я разрушал свой мозг над этим, пытаясь использовать разные подходы. Пользовательские события, флаги пользовательских элементов ... В одном запуске функции просто невозможно указать, был ли этот флажок щелчком, или если это был окружающий элемент div. Но должен быть способ, я просто не вижу его.
У кого-нибудь есть ключ? Кстати, я использую Prototype.
Вы действительно хотите, чтобы тег '