jquery-setzen Sie den Fokus auf dynamisch generierten element
Habe ich diesem eine Reihe von Zeiten, wo ich es zurücksetzen wollen konzentrieren (und, oder wählen Sie den Inhalt von) einem dynamisch generierten element nach nicht der ein oder andere Validierung (in der Regel auf ändern oder Unschärfe), aber ich habe nie eine zufriedenstellende Lösung. Warum wird dies nicht funktionieren? MyFiddle
jQuery(function(){
jQuery("body").append("<input type='text' id='test' size='5'/> <button>Go</button>");
jQuery('body').on('blur', '#test', function()
{ var test = jQuery(this).val();
if(test && !isNumber(test))
{ alert('Not a Number!');
jQuery(this).focus().select();
//jQuery('#test').focus().select();
}
});
});
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, mit
setTimeout
Funktion:http://jsfiddle.net/tFAaf/
Was passiert, wenn Sie versuchen, diese:
Wenn das element keinen Wert hat, wenn der Benutzer schaltet aus dem element, es konzentriert sich und wirft eine Warnung. Dies ist, was Sie wollen, nicht?
on()
Signatur war korrekt.diese:
werden sollte:
body
ist völlig in Ordnung. Anbringen eines Delegierten event-handler, um diedocument
ist das Letzte, was Sie tun sollte - es ist der Grund, warumlive()
war veraltet.live()
. Der user gefragt, warum es würde nicht funktionieren in js fiddle. Sie hatte keine body-Tags im html-oder bin ich etwas fehlt.