Я хочу определить, пустое это поле или нет, а затем запустить на нем некоторый код.Обнаружить, если текстовое поле пуст или нет, а код запуска один раз, если только состояние не изменяется
Вопрос: как я могу запустить код только один раз ... а затем запустить его снова каждый раз, что изменяется состояние текстового поля во время одного focus
- различных состояний будучи
empty
илиnot empty
.
Для дальнейшей разработки:
(. Наиболее важная часть в этих jsfiddle, фигурируют в консоли)
Here is a jsfiddle of a code, который выполняет код каждый раз, когда вы keyup (Не то, что я хочу. Только начальный код.).
$('input').on("keyup", function() { var val = $(this).attr('value'), previous = $(this).prev(); if (val === '') { console.log('Empty'); } else if (val !== '') { console.log('Text'); } });
и Here is a jsfiddle of a code, который выполняет код, когда в фокусе (Это несколько близко к тому, что я хочу).
Что все еще отсутствует, и что я не могу сделать, это в основном запустить код один раз каждый раз, когда состояние изменяется во время одного фокуса. Как я мог это сделать?
$('input').on("focus", function() { $('input').one("keyup", function() { var val = $(this).attr('value'), previous = $(this).prev(); if (val === '') { console.log('Empty'); } else if (val !== '') { console.log('Text'); } }); });
Возможно, я бы использовал этот плагин, но я бы предпочел не делать этого. – Joonas
@Lollero У вас есть особая причина? :-) –
Ну, по понятным причинам. Я хочу иметь код, который делает то, что я хочу, и ничего больше и не меньше. – Joonas