Ich versuche, das Modul Muster hier zu emulieren: https://css-tricks.com/how-do-you-structure-javascript-the-module-pattern-edition/Modul Muster: Funktion nicht definiert
Hier ist mein Code:
var RPSLS_UI = {
settings: {
playerSelections: $(".card")
},
init: function() {
this.bindUIActions();
},
bindUIActions: function() {
this.settings.playerSelections.on("click", function() {
console.log($(this));
});
}
};
ich die Abhängigkeiten in meinem HTML in dieser Reihenfolge enthalten sind:
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> <script type="text/javascript" src="assets/js/rpsls-ui-1.0.js"></script> <script type="text/javascript" src="assets/js/index.js"></script>
Wenn ich meine HTML laden, gebe ich in der Konsole:
RPSLS_UI.init();
Ergebnisse in:
undefined
Dann tippe ich in:
RPSLS_UI.init;
Ergebnisse in:
function() { this.bindUIActions(); }
Was passiert hier? Warum ist die Funktion init() nicht definiert?
Danke! Das macht Sinn! Ich war wirklich verwirrt, weil mein Klickereignis nie ausgelöst wird. Ich denke, das ist jetzt eine andere Frage. – iparke
@iparke Gibt es Fehler in Ihrer Konsole? Meine erste Vermutung ist, dass Sie dieses Skript in das DOM aufnehmen, bevor irgendwelche Elemente mit der Klasse "card" existieren. Der Ausdruck '$ (". Card ")' muss ausgeführt werden, nachdem die Elemente existieren (IE. Setzen Sie das Skript direkt vor Ihr schließendes '