Ho una pagina con due pulsanti. Uno è un <button>
elemento e l'altro è a <input type="submit">
. I pulsanti appaiono sulla pagina in quell'ordine. Se mi trovo in un campo di testo in un punto qualsiasi del modulo e premo <Enter>
, click
viene attivato l' evento dell'elemento pulsante . Presumo che sia perché l'elemento pulsante si trova per primo.
Non riesco a trovare nulla che assomigli a un modo affidabile per impostare il pulsante predefinito, né lo voglio necessariamente a questo punto. In assenza di qualcosa di meglio, ho catturato un tasto premuto in qualsiasi punto del modulo e, se era il <Enter>
tasto premuto, lo sto solo negando:
$('form').keypress( function( e ) {
var code = e.keyCode || e.which;
if( code === 13 ) {
e.preventDefault();
return false;
}
})
Per quanto ne so finora, sembra funzionare, ma sembra incredibilmente pugno di ferro.
Qualcuno sa di una tecnica più sofisticata per farlo?
Allo stesso modo, ci sono delle insidie in questa soluzione di cui non sono a conoscenza?
Grazie.