Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странное поведедение click (https://javascript.ru/forum/misc/61624-strannoe-povededenie-click.html)

arty 26.02.2016 18:16

Странное поведедение click
 
Всем привет.
Есть самая обычная HTML форм для ввода определенных записей. Может возникнуть необходимость в дополнительных полях для ввода однотипных данных. Как пример:
Код:

...
Подсеть: <input type='text' id='subnet' name='subnet'>
<span id='more_subnets' title='Добавить подсеть'>+</span>
...

Тут (в примере выше), рисуется "+" и к нему определяется поведение при клике на нем(пример ниже).
<script>
$(document).ready(function() {
var i=2;
$("#more_subnets").click(function() {
more_subnet();
});
function more_subnet () {
      $("#more_subnets").append("<br>Подсеть: <input type='text' id='subnet"+i+"' name='subnet2'>");
      i = i+1;
   };
});
</script>

Всё хорошо. На странице выводится форма, рядом с полем, которое возможно придется продублировать, выводится "+", по клику на нем появляется еще одно поле для ввода и т.д.
Проблема заключается в том, что если я пытаюсь вводить что-то в это поле(добавленное), у меня добавляются еще поля, хотя я не кликаю на "+".
Почему действие которое привязано к "+" срабатывает и на вновь добавленных полях?

Dilettante_Pro 26.02.2016 18:48

arty,
Замените append на after, т.к. append вставляет новое поле внутрь элемента span, найденного по id #more_subnets,
а onclick относится к span в целом

arty 26.02.2016 18:54

Dilettante_Pro
Ага, т.е. append'ом я вставляю в сам span? Это получается все новые вставки внутри span попали? Теперь понятно почему такие поведение. Спасибо большое за пояснение!


Часовой пояс GMT +3, время: 02:09.