Diese Lösung wurde an this question gefragt, wie Sie eine HTML-Schaltfläche auslösen, wenn Geben Sie in einem Eingabefeld gedrückt wird.Warum ist diese Codezeile beim Klicken auf eine Schaltfläche mit JavaScript erforderlich?
<input type="text" id="txtSearch" onkeypress="searchKeyPress(event);" />
<input type="button" id="btnSearch" Value="Search" onclick="doSomething();" />
<script>
function searchKeyPress(e)
{
// look for window.event in case event isn't passed in
if (typeof e == 'undefined' && window.event) { e = window.event; }
if (e.keyCode == 13)
{
document.getElementById('btnSearch').click();
}
}
</script>
Warum ist if (typeof e == 'undefined' && window.event) { e = window.event; }
nescecary? Es scheint zu prüfen, ob das Argument nicht korrekt übergeben wurde, warum nicht? Bezieht sich dies auf die Behebung von Browserkompatibilitätsproblemen?
Wegen altIE. Aber das ist in diesem Fall nicht notwendig, da Sie "Event" vom Inline-Handler übergeben. – bfavaretto
Kurze Antwort, ja, es geht um Browserkompatibilität. –
als ein Hinweis: Man sollte Inline-Handler vermeiden. Hier ist ein Artikel, der einige Gründe erklärt, warum: http://robertnyman.com/2008/11/20/why-inline-css-and-jascript-code-is-such-a-bad-thing/ – rlemon