jQuery: keydown replicating text one character behind -


the objective of this jsfiddle snippet display in <p/> text entered in <input/> every time user keys in character. works exception <p/> 1 character behind. what's wrong code?

the jquery code:

var $input = $('<input />'); $('body').append($input); var $p = $('<p/>'); $('body').append($p); $input.keydown(function() {     $p.text ($input.val()); }); 

keydown fires key pressed, , before value updated pressed key. may wish use keyup() instead:

$input.keyup(function() {     $p.text ($input.val()); }); 

or simplify to:

$input.keyup(function() {     $p.text (this.value); }); 

you manually append last character (which works, long last keypress isn't backspace or delete:

$input.keydown(e){     $p.val( this.value + string.fromcharcode(e.which)); }); 

but, frankly, starts become silly when have account special characters (using shift, ctrl, alt or backspace , delete).


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -