У меня проблема с моим сценарием ниже. Я пытаюсь создать сценарий, в котором вы можете написать текст в поле ввода, а когда вы набрали какой-то текст, вы получите предупреждение при фокусе. Предупреждение должно показывать только, если на входе содержится текст.Показывать предупреждение при фокусировке, только один раз
Но проблема в том, что если вы пытаетесь написать какой-либо текст, удалите его и затем сфокусируйтесь на входе, предупреждение не появится в следующий раз, когда вы на самом деле что-то написали, а затем сосредоточились ,
В настоящий момент функция предупреждения всегда будет «исчезать» при фокусировке, независимо от того, написала ли вы что-либо или нет.
Я попытался добавить var already_alert_me_once = true
перед предупреждением, а затем поместить все внутри: if(already_alert_me_once == false
), но это не помогло.
Я также попытался изменить $('#title').focusout(function()
с $('#title').one('focusout', function()
, который почти сделал трюк.
Вот мой текущий сценарий:
// When focus on title
$('#title').focus(function() {
// Check if empty
if (!$(this).val()) {
$('#title').one('focusout', function() {
if ($(this).val()) {
alert("YEP");
}
});
}
});
..и Here's a Fiddle
Так что мой вопрос; Как это сделать, предупреждение появляется только тогда, когда у вас есть что-то написано, а после этого никогда снова (если вы не перезагрузите страницу).
Надеюсь, вы поймете, что я имею в виду.
Спасибо - TheYaXxE
опечатка, следует сказать '' on' не one' –
@TomStyles 'one' означает его срабатывает только один раз. – Archer
http://jsfiddle.net/rkumar670/T7tFd/6/ –