Wenn ich onkeypress verwende, kann ich alle Zeichen auf eine perfekt lesbare Weise zurückgeben. Großbuchstaben funktionieren,!,? , 'usw. funktioniert alles super. Das Problem ist, dass ich eine Rücktaste nicht erkennen kann.Zurückgeben von Zeichen in natürlicher Sprache mit onkeypress/onkeydown, wobei die Fähigkeit zur Rücksetzung beibehalten wird
onkeydown auf der anderen Seite erkennt die Backspace-Taste. Das Problem hier ist, dass es shift nicht gleichzeitig mit einem Buchstaben-Taste gedrückt wird, es ist immer Großbuchstaben, kann ich nicht Apostrophe, Ausrufezeichen, Fragezeichen sind auf dem Kopf, etc.
Wie kann ich natürliche Sprache zurückgeben Zeichen, während Sie gleichzeitig die Rücktaste verwenden und unerwünschte Zeichen löschen können?
<form action="">
<textarea id="myArea" type="text" onkeydown="return myKeyPress(event)" ></textarea>
</form>
<script>
var socket = io();
function myKeyPress(e){
var keynum;
var letter;
if(window.event) { // IE
keynum = e.keyCode;
} else if(e.which){ // Netscape/Firefox/Opera
keynum = e.which;
}
letter = String.fromCharCode(keynum);
socket.emit('theText', letter);
}
socket.on('theText', function(msg) {
document.getElementById('myArea').value += msg;
})
</script>