Prüfen, ob Eingabe-Taste gedrückt, in das Textfeld ein
Ich bin mit dem folgenden code zu überprüfen, wenn enter-Taste gedrückt wurde, in das Textfeld, aber ich bin immer
Typ Fehler TypeError: e is undefined
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>demo</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
function memSort(e){
if(e.keyCode === 13){
alert("Enter was pressed ");
}
}
</script>
</head>
<body>
<div class="searchBox">
<div class="keyname">Keyword : </div>
<input name="usersearch" id="usersearch" type="text" value="" onKeydown="memSort();"/>
<div id="listOrders"></div>
</div>
</body>
</html>
onKeydown="memSort(event);"
- Warum Sie mit inline-events?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie gehen
event
Objekt, während die aufrufende JavaScript-Funktion, wie unten :Ist es einfach in jQuery und keine Notwendigkeit zum Aufruf von Eingabe :
Ich sehen, dass Sie mit jQuery im code. Dann, warum nicht nutzen, die gleiche unauffällige event-handling.
Oder wenn nur mit Javascript, übergeben das event-Objekt parameter:
Aber, inline-Handler sollten vermieden werden.
versuchen, diese
Müssen Sie vorbei an der
event
Objekt, wenn die Funktion aufrufen.Versuchen Sie dies:
HTML-Code
Arbeiten Geige
"TypeError: e is undefined" - Erklärung:
Beachten Sie den html-code: onKeydown="memSort(event);
Hier gebe ich ein event-Objekt
event
als Funktions-parameter. Aber in Ihrem code, den Sie verpasst dieser. Und wenn Sie nicht einen parameter übergeben, es ist bezeichnet alsundefined
. (wenn Sie nicht bestanden, der die Veranstaltung dann sind Sie nicht in der Lage, um diee.keyCode
.) Also, du musst das event-Objekt.