jquery
  • checkbox
  • onchange
  • 2016-08-29 5 views 0 likes 
    0

    Я прикрепление onchange события в флажках, как это:флажка OnChange стрельба дважды

    $("input[type='checkbox'][name='auswahl[]']").on("change", function() { 
        alert($(this).attr("id") + ' ' + $("label[for='" + $(this).attr("id") + "']").text() + $(this).attr("checked")); 
    }); 
    

    Флажков выглядеть следующим образом:

    <input type="checkbox" name="auswahl[]" id="aus_nunatsiaqnews_ca"><label for="aus_nunatsiaqnews_ca" title="Canada">Nunatsiaq News</label> 
    

    К сожалению, это событие дважды стреляя. Когда я изолирую приведенный выше код и помещаю его на тестовую страницу, все в порядке, и событие запускается только один раз. Нужна помощь.

    +0

    Когда вы подключаете обработчик события? – Satpal

    +0

    он вызывает триггер https://jsfiddle.net/gkz5owms/. Я думаю, что вы как-то присоединяетесь к «onchange» два раза. – esertbas

    +0

    @Satpal: Я прикрепляю его в нижней части страницы, после того, как были установлены флажки. Нет загрузки или готовой документации. – Sempervivum

    ответ

    0

    Обычно это происходит, когда элемент управления с событием «onClick» находится внутри другого элемента управления с событием «onClick». Щелчок по одному из элементов вызывает события для обоих элементов, так как нет способа узнать, из какого из них вы хотите щелкнуть. , к счастью, это может быть предотвращено в Javascript. в HTML, передать параметр «$ событие» на функцию, которая обрабатывает событие щелчка так:

    onClick="myFunc($event)"

    , а затем, в «MyFunc» использовать «stopPropagation» как таковой:

    myFunc($event) { 
     
        // ... some code ... // 
     
        $event.stopPropagation(); 
     
    }

     Смежные вопросы

    • Нет связанных вопросов^_^