J'ai le code JavaScript suivant. Ici, j'utilise Le code fonctionne bien dans IE8 Mais c'est Veuillez donner une certaine solution à cela. P> onKeyPress = "Asscunction ()" code> dans la balise corporelle pour obtenir le code-clés code> de la touche enfoncée.
<!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>
4 Réponses :
Les navigateurs ont différentes façons de gérer les événements du clavier. Jetez un coup d'œil à
2 commentaires
mais je ne comprends pas quelle est cette "e" à l'intérieur de la clé de la clé (e)
Le "E" est le "événement" qui est transmis dans cette fonction lorsque Somody a appuyé sur une clé. "E" est un objet avec des propriétés différentes, par exemple le code-clés. Vous pouvez accéder à la propriété en appelant E.KeyCode.
Lorsque des problèmes comme celui-ci montrent, je commence à utiliser n'importe quel type de cadre JavaScript. Ces cadres sont construits pour éviter les problèmes de différents navigateurs.
attraper tous les différents Exemple: strong> p> dans HTML Head: P> keypress () code> API, comme le lien des spectacles Emmett, peut être très difficile. P>
$(document).keydown(function(event) {
alert('You pressed '+event.keyCode);
event.preventDefault();
});
Quelqu'un peut-il me donner la solution de manière très simple ..? Je suis un nouvel apprenant .......
Il pourrait être plus utile d'apprendre en réalité comment les événements fonctionnent dans JavaScript que de courir aveuglément à une bibliothèque. C'est en fait très simple.
OnKeyPress Prendre la valeur précédente ne prenant pas de courant..solution pls
Je pense que Firefox ne sont pas des programmeurs de soins ...
Et c'est la raison pour laquelle alors,
Dans Firefox Navigator.appname retourne "Netscape".
Donc, l'utilisateur peut éditer son code comme,
Passez l'objet événement comme paramètre et votre code fonctionnera dans IE ainsi que Firefox. L'exemple de code est le suivant:
function keypress(event) { 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(); }
Pourriez-vous décrire exactement ce que vous essayez d'atteindre?
J'essaie d'attribuer une fonction (disons imprimer la page) à la touche "P" via l'événement OnKeyPress. J'utilise Windows XP, IE8, Firefox. Mon problème est le suivant: Dans Firefox, l'événement OnKeyPress ne renvoie aucun code clé que je dois appeler une fonction spécifique. Mais dans IE8, il fonctionne.