Warum stoppt die Rückgabe von false im Keydown-Callback nicht das Schaltflächen-Klick-Ereignis?

Ich habe eine Schaltfläche und die folgende JavaScript-Routine.

$("button").keydown( function(key) {
  switch(key.keyCode) {
  case 32: //space
    return false;
  }
} );

so wie ich es verstanden habereturn false; würde verhindern, dass der Tastendruck verarbeitet wird. So$("button").click(); würde nicht angerufen werden. Bei anderen keyCodes funktioniert dies wie erwartet. Zum Beispiel, wenn ich abfange40Die Seite scrollt nicht.

Ich habe dieses Verhalten in Firefox bemerkt.

Warum macht dasreturn false; Stoppt das Button-Klick-Ereignis nicht im Leerzeichen? Was sagt die Javascript-Spezifikation dazu?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage