Ich habe eine Seite mit zwei Schaltflächen. Einer ist ein <button>
Element und der andere ist ein <input type="submit">
. Die Schaltflächen werden in dieser Reihenfolge auf der Seite angezeigt. Wenn ich mich irgendwo im Formular in einem Textfeld befinde und drücke <Enter>
, wird das click
Ereignis des Schaltflächenelements ausgelöst. Ich gehe davon aus, dass das Button-Element zuerst sitzt.
Ich kann nichts finden, was nach einer zuverlässigen Methode zum Einstellen der Standardschaltfläche aussieht, und ich möchte dies an dieser Stelle auch nicht unbedingt tun. In Ermangelung von etwas Besserem habe ich irgendwo auf dem Formular einen Tastendruck erfasst, und wenn es die <Enter>
Taste war, die gedrückt wurde, negiere ich sie einfach:
$('form').keypress( function( e ) {
var code = e.keyCode || e.which;
if( code === 13 ) {
e.preventDefault();
return false;
}
})
Soweit ich das beurteilen kann, scheint es zu funktionieren, aber es fühlt sich unglaublich mit Schinkenfäusten an.
Kennt jemand eine ausgefeiltere Technik dafür?
Gibt es auch Fallstricke bei dieser Lösung, die mir einfach nicht bewusst sind?
Vielen Dank.