| <p>To test manually, press keys and compare results to other browsers.</p> |
| <input type="text" |
| onclick="log(eventInfo(event));" |
| onmousedown="log(eventInfo(event));" |
| onmouseup="log(eventInfo(event));" |
| onkeypress="log(eventInfo(event));" |
| onkeydown="log(eventInfo(event));" |
| onkeyup="log(eventInfo(event));"> |
| </input> |
| <input type=text></input> |
| <div id="log"></div> |
| |
| <script> |
| function log(msg) { |
| document.getElementById("log").innerHTML+= msg + "<br />"; |
| } |
| function eventInfo(event, where) { |
| try { |
| if (!event) |
| event = window.event; |
| target = event.srcElement ? event.srcElement : event.target; |
| if (event.type == "textInput") |
| return (where ? "(" + where + ") " : "") + target.tagName + " - " + event.type + " - " + event.data |
| + '. Value: "' + target.value + '".'; |
| else if (event.type == "keydown" || event.type == "keypress" || event.type == "keyup") |
| return (where ? "(" + where + ") " : "") + target.tagName + " - " + event.type |
| + ' - ' + [event.ctrlKey, event.altKey, event.shiftKey, event.metaKey] |
| + ' - ' + event.key |
| + ' - ' + event.code |
| + ' - ' + event.keyIdentifier |
| + ' - ' + event.keyCode |
| + ' - ' + event.charCode |
| + ' - ' + event.which |
| + '. Value: "' + target.value + '".'; |
| else if (event.type == "mousedown" || event.type == "click" || event.type == "mouseup") |
| return (where ? "(" + where + ") " : "") + target.tagName + " - " + event.type |
| '. Value: "' + target.value + '".'; |
| |
| } catch (ex) { |
| alert(ex); |
| } |
| } |
| log("target - type - " + ["ctrlKey", "altKey", "shiftKey", "metaKey"] |
| + ' - ' + "key" |
| + ' - ' + "code" |
| + ' - ' + "keyIdentifier" |
| + ' - ' + "keyCode" |
| + ' - ' + "charCode" |
| + ' - ' + "which"); |
| |
| if (document.getElementsByTagName("input")[0].addEventListener) |
| document.getElementsByTagName("input")[0].addEventListener('textInput', function(e) {log(eventInfo(e));}, false); |
| |
| document.getElementsByTagName("input")[0].focus(); |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| log("Space:"); |
| eventSender.keyDown(" ", []); |
| log("Backspace:"); |
| eventSender.keyDown("\x08", []); |
| log("Left Arrow:"); |
| eventSender.keyDown("leftArrow", []); |
| log("Tab:"); |
| eventSender.keyDown("\t", []); |
| } |
| </script> |