javascript - Detect printable keys -
i need detect whether key has been pressed printable key, character, possibly accented, number, space, punctuation symbol , on, or non printable key, enter, tab or delete.
is there reliable way in javascript, other listing non printable keys , hope not forget some?
i answered similar question yesterday. note have use keypress
event character-related; keydown
won't do.
i argue enter printable, way, , function considers be. if disagree, can amend filter out keypresses which
or keycode
property of event set 13.
function ischaracterkeypress(evt) { if (typeof evt.which == "undefined") { // ie, fires keypress events printable keys return true; } else if (typeof evt.which == "number" && evt.which > 0) { // in other browsers except old versions of webkit, evt.which // greater 0 if keypress printable key. // need filter out backspace , ctrl/alt/meta key combinations return !evt.ctrlkey && !evt.metakey && !evt.altkey && evt.which != 8; } return false; } var input = document.getelementbyid("your_input_id"); input.onkeypress = function(evt) { evt = evt || window.event; if (ischaracterkeypress(evt)) { // stuff here alert("character!"); } });
Comments
Post a Comment