this code on jsfiddle - http://jsfiddle.net/zoqtmahq
the html:
<h2>javascript capture keyboard input</h2> <h3>keydown event</h3> type: charcode : keycode <br> <textarea rows="10" cols="20" data-roll="none"></textarea><br> <h3>keypress event</h3> type: charcode : keycode <br> <textarea rows="10" cols="20" data-roll="none"></textarea><br> <input type="button" value="clear"/> the js:
function clearevent() { document.getelementsbytagname('textarea')[0].value = ""; document.getelementsbytagname('textarea')[1].value = ""; } function logevent(event) { event.preventdefault(); document.getelementsbytagname('textarea')[0].value += event.type + " " + event.charcode + " " + event.keycode + "\r\n"; document.getelementsbytagname('textarea')[1].value += event.type + " " + string.fromcharcode(event.charcode) + " " + event.keycode + "\r\n"; } document.addeventlistener('keydown', logevent, false); document.addeventlistener('keypress', logevent, false); document.getelementsbytagname("input")[0].addeventlistener("click", clearevent, false); i trying capture "keydown" , "keypress" events anywhere on document object. have added 2 events listener document object. both of them handled same logevent handler. handler logs event type along other properties of event in 2 different "textareas".
i hoping capture "keydown" events in first textarea, , "keypress" events in second. instead capture "keydown" events in both areas.
prevent default keeps firing it. comment out , watch both events triggered.
function clearevent() { document.getelementsbytagname('textarea')[0].value = ""; document.getelementsbytagname('textarea')[1].value = ""; } function logevent(event) { //event.preventdefault(); document.getelementsbytagname('textarea')[0].value += event.type + " " + event.charcode + " " + event.keycode + "\r\n"; document.getelementsbytagname('textarea')[1].value += event.type + " " + string.fromcharcode(event.charcode) + " " + event.keycode + "\r\n"; } document.addeventlistener('keydown', logevent, false); document.addeventlistener('keypress', logevent, false); document.getelementsbytagname("input")[0].addeventlistener("click", clearevent, false); <h2>javascript capture keyboard input</h2> <h3>keydown event</h3> type: charcode : keycode <br> <textarea rows="10" cols="20" data-roll="none"></textarea><br> <h3>keypress event</h3> type: charcode : keycode <br> <textarea rows="10" cols="20" data-roll="none"></textarea><br> <input type="button" value="clear"/>
Comments
Post a Comment