slimerjs-firefox
Version:
This repo includes slimerjs as well as downloads a local copy of Firefox.
153 lines (136 loc) • 3.58 kB
HTML
<html>
<head>
<meta charset="utf-8">
<title>test key event</title>
<script type="text/javascript">
var result = {
keypressK:-1,
keypressC:-1,
keypressAlt: -1,
keypressShift: -1,
keypressCtrl: -1,
keypressMeta: -1,
keyupK:-1,
keyupC:-1,
keyupAlt: -1,
keyupShift: -1,
keyupCtrl: -1,
keyupMeta: -1,
keydownK:-1,
keydownC:-1,
keydownAlt: -1,
keydownShift: -1,
keydownCtrl: -1,
keydownMeta: -1
}
function showEventProperties(e)
{
var k = result[e.type+"K"];
if ((typeof k ) == 'number') {
if (k == -1)
result[e.type+"K"] = e.keyCode;
else {
result[e.type+"K"] = new Array();
result[e.type+"K"].push(k)
result[e.type+"K"].push(e.keyCode)
}
}
else {
result[e.type+"K"].push(e.keyCode);
}
k = result[e.type+"C"];
if (typeof k == 'number') {
if (k == -1)
result[e.type+"C"] = e.charCode;
else {
result[e.type+"C"] = new Array();
result[e.type+"C"].push(k)
result[e.type+"C"].push(e.charCode)
}
}
else {
result[e.type+"C"].push(e.charCode);
}
k = result[e.type+"Alt"];
if (typeof k == 'number') {
result[e.type+"Alt"] = e.altKey;
}
else if (typeof k == 'boolean') {
result[e.type+"Alt"] = [ k ];
result[e.type+"Alt"].push(e.altKey)
}
else {
result[e.type+"Alt"].push(e.altKey)
}
k = result[e.type+"Shift"];
if (typeof k == 'number') {
result[e.type+"Shift"] = e.shiftKey;
}
else if (typeof k == 'boolean') {
result[e.type+"Shift"] = [ k ];
result[e.type+"Shift"].push(e.shiftKey)
}
else {
result[e.type+"Shift"].push(e.shiftKey)
}
k = result[e.type+"Ctrl"];
if (typeof k == 'number') {
result[e.type+"Ctrl"] = e.ctrlKey;
}
else if (typeof k == 'boolean') {
result[e.type+"Ctrl"] = [ k ];
result[e.type+"Ctrl"].push(e.ctrlKey)
}
else {
result[e.type+"Ctrl"].push(e.ctrlKey)
}
k = result[e.type+"Meta"];
if (typeof k == 'number') {
result[e.type+"Meta"] = e.metaKey;
}
else if (typeof k == 'boolean') {
result[e.type+"Meta"] = [ k ];
result[e.type+"Meta"].push(e.metaKey)
}
else {
result[e.type+"Meta"].push(e.metaKey)
}
}
function clearK(){
result.keypressK = -1;
result.keypressC = -1;
result.keyupK = -1;
result.keyupC = -1;
result.keydownK = -1;
result.keydownC = -1;
result.keypressAlt= -1;
result.keypressShift= -1;
result.keypressCtrl= -1;
result.keypressMeta= -1;
result.keyupAlt= -1;
result.keyupShift= -1;
result.keyupCtrl= -1;
result.keyupMeta= -1;
result.keydownAlt= -1;
result.keydownShift= -1;
result.keydownCtrl= -1;
result.keydownMeta= -1;
document.getElementById('txt').value = '';
document.getElementById('txt').focus();
}
window.onload = function(event){
var t = document.getElementById('txt');
document.addEventListener("keydown", showEventProperties, true);
document.addEventListener("keyup", showEventProperties, true);
document.addEventListener("keypress", showEventProperties, true);
t.focus();
document.getElementById('tt').textContent= 'example';
}
</script>
</head>
<body>
<h1 id="tt"></h1>
<input type="text" value="" id="txt" />
</body>
</html>