Mam stronę z dwoma przyciskami. Jeden to <button>
element, a drugi to <input type="submit">
. Przyciski pojawiają się na stronie w tej kolejności. Jeśli znajdę się w polu tekstowym w dowolnym miejscu formularza i naciśnę <Enter>
, click
zostanie wyzwolone zdarzenie elementu przycisku . Zakładam, że to dlatego, że element przycisku znajduje się jako pierwszy.
Nie mogę znaleźć niczego, co wygląda na niezawodny sposób ustawienia domyślnego przycisku, ani też nie chcę tego robić w tym momencie. Wobec braku czegoś lepszego złapałem naciśnięcie klawisza w dowolnym miejscu formularza i, jeśli to był <Enter>
klawisz, który został naciśnięty, po prostu go neguję:
$('form').keypress( function( e ) {
var code = e.keyCode || e.which;
if( code === 13 ) {
e.preventDefault();
return false;
}
})
O ile wiem, wydaje się, że działa, ale wydaje się niesamowicie uparty.
Czy ktoś zna bardziej wyrafinowaną technikę robienia tego?
Podobnie, czy są jakieś pułapki w tym rozwiązaniu, których po prostu nie jestem świadomy?
Dzięki.