I have the following Javascript code. Here I am using onKeyPress="someFunction( )"
in the body tag to get the keyCode
of the key that is pressed.
The code is working fine in IE8 but this is not working in Firefox.
Please give some solution to this.
<html>
<head>
<title>onKeyPress( ) event not working in firefox..</title>
<script>
function printDiv()
{
var divToPrint=document.getElementById('prnt');
newWin=window.open(''+self.location,'PrintWin','left=50,top=20,width=590,height=840,toolbar=1,resizable=1,scrollbars=yes');
newWin.document.write(divToPrint.outerHTML);
newWin.print();
//newWin.close();
}
</script>
<script>
function keypress()
{
alert(event.keyCode);
var key=event.keyCode;
if(key==112 || key==80)
printDiv();
else if(key==101 || key==69)
window.location="http://google.com";
else if(key==114 || key==82)
window.reset();
}
</script>
</head>
<body bgcolor="lightblue" onkeypress="keypress()">
<!DOCTYPE html>
<html>
<head>
<title>Please help me out</title>
<script type="text/javascript">
function printDiv()
{
var divToPrint=document.getElementById('prnt');
newWin=window.open(''+self.location,'PrintWin','left=50,top=20,width=590,height=840,toolbar=1,resizable=1,scrollbars=yes');
newWin.document.write(divToPrint.outerHTML);
newWin.print();
}
</script>
<script type="text/javascript">
function keypress(val)
{
//-----------------------------------------------------
//alert('nnnn');
//alert(window.event ? event.keyCode : val.which);
//if(val.which != 0 && val.charCode != 0)
// alert('Firefox'+String.fromCharCode(val.which));
//else
// alert('IE');
//-------------------------------------------------------
var key=event.keyCode;
if(key==112 || key==80 || val=="print")
printDiv();
else if(key==101 || key==69 || val=="exit")
window.location="http://google.co.in";
else if(key==114 || key==82 || val=="refresh")
document.forms[0].reset();
else
event.returnValue=true;
}
</script>
</head>
<body bgcolor="lightblue" topmargin="0" leftmargin="0"marginwidth="0px" marginheight="0px" onkeypress="keypress(null)">
<table align="left" border="1" cellpadding="5" cellspacing="0" style="width: 100%;height:100%">
<tbody>
<tr><td width="20%" valign="top">ccccccccccc</td>
<td width="80%" align="center">
<table style="width: 100%" border="0" valign="top">
<tr align="right">
<td valign="top">
<button value="refresh" accesskey="R" onclick="keypress(this.value)">
<b><u>R</u></b>efresh
</button>
<button value="print" accesskey="P" onclick="keypress(this.value)">
<b><u>P</u></b>rint
</button>
<button value="exit" accesskey="E" onclick="keypress(this.value)">
<b><u>E</u></b>xit
</button>
</td></tr>
</table>
<h3>Press the letters P->Print , E->Exit etc....</h3>
<h1>Just a test for keypress event</h1>
<form action="http://google.co.in" method="Post">
<div id="prnt">
zzzzzzzzzzzzzzz
</div>
</form>
</td>
</tr>
</tbody>
</table></body></html>
The onkeypress event occurs when the user presses a key (on the keyboard). Tip: The order of events related to the onkeypress event: onkeydown. onkeypress.
The onkeypress attribute fires when the user presses a key (on the keyboard).
When problems like this show up, I start to use any kind of a JavaScript framework. Those frameworks are build to avoid problems with different browsers.
To catch all different keypress()
apis, like the link from Emmett shows, can be very difficult.
Example:
In HTML head:
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
In the JS tag:
$(document).keydown(function(event) {
alert('You pressed '+event.keyCode);
event.preventDefault();
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With