Questa soluzione è stata data a this question per chiedere come attivare un pulsante HTML quando Immettere viene premuto in un campo di input.Perché è necessaria questa riga di codice facendo clic su un pulsante con JavaScript?
<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>
Perché è if (typeof e == 'undefined' && window.event) { e = window.event; }
nescecary? Sembra che stia controllando se l'argomento non è stato passato correttamente, perché non dovrebbe? Questo è legato alla risoluzione dei problemi di compatibilità del browser?
A causa di oldIE. Ma non è necessario in questo caso, dato che stai passando 'evento' dal gestore in linea. – bfavaretto
Risposta breve, sì, riguarda la compatibilità del browser. –
come nota: si dovrebbe evitare gestori in linea. ecco un articolo che spiega alcuni motivi per cui: http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/ – rlemon