Почему не работает фокусировка и изменение jQuery?

Это должно быть просто, но я не вижу, что мешает работе этой комбинации.focusout и.change.

Я хочу, чтобы первый вход копировался во второй, когда фокус покидает первый вход. Нет ошибок в консоли. Скрипка: https://jsfiddle.net/fh8t6mm0/

Причина, по которой я хочу использовать focusout, заключается в том, что функции.change и.val по некоторым причинам не работают надежно.

HTML:

<div id="focusoutdiv">

  <input class="fieldone" type="text">

  <input class="fieldtwo" type="text">

</div>

JS:

$('#focusoutdiv').focusout(function() {
  $('.fieldone').change(function() {
    $('.fieldtwo').val($(this).val());
  });
});

2 ответа

Решение

Вы также можете использовать событие размытия для копирования текста из одного текстового поля в другое. Ниже код может быть полезным для вас

$('.fieldone').blur(function() {
    $('.fieldtwo').val($(this).val());
});

Не используйте change событие внутри focusout событие. Потому что они должны быть определены отдельно, чтобы работать как положено. Более того, в вашем фрагменте кода, change Достаточно одного события, чтобы удовлетворить ваши требования. Пожалуйста, обратитесь к следующему примеру.

$('.fieldone').change(function() {
  $('.fieldtwo').val($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="focusoutdiv">
  <input class="fieldone" type="text">
  <input class="fieldtwo" type="text">
</div>

Другие вопросы по тегам