Jquery Event Bubbling CheckBox - PullRequest
       5

Jquery Event Bubbling CheckBox

2 голосов
/ 19 января 2009

У меня есть форма с флажками, а затем текст справа от флажка. Есть события jquery, прикрепленные к событиям щелчка флажка. Я хочу, чтобы пользователь мог щелкнуть метку или флажок и установить / снять флажок, а также событие, которое нужно запустить. Ниже приведена упрощенная версия того, что я пытаюсь сделать ( НЕ запустите код, как показано ниже, поскольку он создает бесконечный цикл).

<script>
$(document).ready(function() {
  $("form p").click(function() {
    $(this).find("input").click();
  });

  $("form input").click(function() {
    alert("clicked");
  });  
});
</script>


<form>
<p> <input type="checkbox" name="checker" value="1" /> Click anywhere</p>
<p> <input type="checkbox" name="checker2" value="2" /> Click anywhere</p>
</form>

Ответы [ 3 ]

5 голосов
/ 19 января 2009

Используйте метку LABEL: http://www.w3schools.com/tags/tag_label.asp

2 голосов
/ 10 июня 2011
Нажатие

на любом теге <input> вызывает событие click тега <p> (поскольку тег <input> находится внутри тега <p>), которое затем вызывает событие click тега <input>, ведущее к бесконечному циклу.

1 голос
/ 29 октября 2011

Вы можете предотвратить «бесконечный цикл», используя метод j.superPropagation jQuery .

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