Как обойтись дочерний элемент от события щелчка

голоса
4

Может кто-нибудь помочь мне с этим. Существует HTML код:

<h3>
    <label>
        <input type=checkbox name=country value=us /> United States
    </label>
</h3>
<p>Some content goes here</p>

Я хочу , чтобы переключить р элемент, нажав на h3 тег, но я не wan't для переключения , если я нажал на этикетке

$('h3').click(function() {
   // Does something goes here?
   $(this).next('p').toggle();
}
Задан 19/05/2009 в 14:35
источник пользователем
На других языках...                            


2 ответов

голоса
2

Вы хотите stopPropagation ()

$('h3').click(function() {
   // Does something goes here?
   $(this).next('p').toggle();
}
$('label').click(function(e) {
   e.stopPropagation();
}
Ответил 19/05/2009 в 14:41
источник пользователем

голоса
17

Вы должны проверить, цель действия

$('h3').click(function(e) {
   // if they clicked the h3 only
   if (this == e.target) {
     $(this).next('p').toggle();
   }
}

Предложение altCognito была бы также работать, но это больше кода.

Ответил 19/05/2009 в 14:49
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more