diff --git a/src/jquery.tokeninput.js b/src/jquery.tokeninput.js index 4b69d823..757ef199 100755 --- a/src/jquery.tokeninput.js +++ b/src/jquery.tokeninput.js @@ -323,26 +323,6 @@ break; - case KEY.BACKSPACE: - previous_token = input_token.prev(); - - if (this.value.length === 0) { - if (selected_token) { - delete_token($(selected_token)); - hiddenInput.change(); - } else if(previous_token.length) { - select_token($(previous_token.get(0))); - } - - return false; - } else if($(this).val().length === 1) { - hide_dropdown(); - } else { - // set a timeout just long enough to let this function finish. - setTimeout(function(){ do_search(); }, 5); - } - break; - case KEY.TAB: case KEY.ENTER: case KEY.NUMPAD_ENTER: @@ -371,6 +351,32 @@ case KEY.ESCAPE: hide_dropdown(); return true; + } + }) + .keyup(function (event) { + var previous_token; + var next_token; + + switch(event.keyCode) { + case KEY.BACKSPACE: + previous_token = input_token.prev(); + + if (this.value.length === 0) { + if (selected_token) { + delete_token($(selected_token)); + hiddenInput.change(); + } else if(previous_token.length) { + select_token($(previous_token.get(0))); + } + + return false; + } else if($(this).val().length === 1) { + hide_dropdown(); + } else { + // set a timeout just long enough to let this function finish. + setTimeout(function(){ do_search(); }, 5); + } + break; default: if (String.fromCharCode(event.which)) { @@ -1067,11 +1073,12 @@ // obj: a jQuery object to focus() function focusWithTimeout(object) { setTimeout( - function() { - object.focus(); - }, - 50 - ); + function() { + object.focus(); + }, + 50 + ); + object.focus(); } };