Почему не работает фокусировка и изменение 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>