Geben Sie die Trigger-Taste klicken

Ich habe eine Seite mit zwei buttons. Die eine ist eine <button> element und das andere ist ein <input type="submit">. Die Schaltflächen werden auf der Seite angezeigt-in dieser Reihenfolge. Wenn ich in ein Textfeld eine beliebige Stelle des Formulars, und drücken Sie <Enter>, das button-element ist click - Ereignis ausgelöst wird. Ich nehme an, das ist, weil die button-element sitzt zuerst.

Kann ich nichts finden, dass sieht aus wie eine zuverlässige Weise des default-button, ich bin auch nicht unbedingt wollen an dieser Stelle. In der Abwesenheit von etwas besser, ich gefangen habe einen Tastendruck irgendwo auf dem Formular, und, wenn es das war <Enter> Taste, die gedrückt wurde, ich bin einfach zu negieren:

$('form').keypress( function( e ) {
  var code = e.keyCode || e.which;

  if( code === 13 ) {
    e.preventDefault();
    return false; 
  }
})

Soweit ich das bisher beurteilen kann, scheint es zu funktionieren, aber es fühlt sich unglaublich ungeschickt.

Kennt jemand eine anspruchsvollere Technik, dies zu tun?

Ähnlich, gibt es irgendwelche Fallstricke, die diese Lösung, ich bin nur nicht bewusst?

Dank.

Dies kann passieren bei Verwendung von Winkel-reaktive Formen als auch, nicht nur nützlich für JQuery, aber für eckige Entwicklung.

InformationsquelleAutor Rob Wilkerson | 2011-01-21

Schreibe einen Kommentar