Was ist der beste Weg, um mehrere wichtige Ereignisse in Javascript zu verarbeiten?

Drücken Sie die Leertaste im Spiel, um einen Charakter abzuschießen. Wenn Sie die Leertaste drücken, wenn ein Bestätigungsfeld angezeigt wird, wird dieses Feld ausgeblendet. Wenn Sie die Leertaste in einer Highscore-Form drücken, wird ein Leerzeichen in ein Eingabefeld eingefügt. In diesem Beispiel gibt es mehrere Ereignisse für denselben Schlüssel, es wird jedoch immer nur ein Ereignis ausgelöst.

Gibt es eine allgemeine (oder für Javascript spezifische) Methode oder eine Art der Programmierung, um Ereignisse zu einem bestimmten Schlüssel hinzuzufügen, sodass sie nur unter bestimmten Umständen ausgeführt werden?

Natürlich kann es so gemacht werden:

var inGame = true|false;
var inConfirmationBox = true|false;

function spaceBarHandler(){
    if(inGame){ /*shoot*/}
    else if(inConfirmationBox){ /*remove box*/}
}

document.onkeydown = function(){ /* call space bar handler if space bar was pressed */ };

Aber dies ist eine sehr verwirrende Art der Programmierung, da bestimmte Aktionen in einer Leertaste gemischt werden, was die Wartung erschwert.

Was ist die beste Möglichkeit, mehrere Ereignisse für einen Schlüssel zu verarbeiten, sodass diese Ereignisse nur unter bestimmten Umständen ausgelöst werden?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage