В поле формы я работаю с двумя активными функциями: keyup и focusout. Функции выполняют один и тот же код, только клавиатура использует функцию задержки.JQuery слияние двух функций keyup и focusout
Функция задержки:
$(function() {
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
Функции KeyUp и focusout:
$("#name").on('keyup', function(){
var textn = $(this).val();
var nbrCharn = textn.length;
delay(function(){
if(nbrCharn > '2'){ $('#nameMsg').html('Nice.');
}else { $('#nameMsg').html(''); }
}, 1000);
});
$("#name").on('focusout', function(){
var textn = $(this).val();
var nbrCharn = textn.length;
if(nbrCharn > '2'){ $('#nameMsg').html('Nice.');
}else { $('#nameMsg').html(''); }
});
KeyUp нужна задержка, то focusout не делает. Этот код работает нормально, но возможно ли объединить эти функции, поэтому у меня нет одинакового кода дважды?
ваша функция задержки выглядит как он испортил скобки – Plato
TNX для обратной связи. Пробовал все, не могу заставить его работать по-другому. – Aiken
Я думаю, что на самом деле это просто, что вы не вставляете закрывающую скобку «$()' – Plato