dedlfix: Keyup Event Syntax Verständnisproblem

Beitrag lesen

Tach!

Das Hauptproblem ist falsche Syntax, die aber keinen Fehler erzeugt, weil sie formal richtig ist.

 $(document).ready()
{
  // ...
}

Du rufst $(document).ready() auf und anschließend hast du einen Block innerhalb der {}-Klammern notiert, der nicht weiter ausgeführt wird. Der Block muss stattdessen der Körper einer Funktion sein, und die musst du mit function() einleiten. Zudem muss diese Funktion als Parameter von ready() übergeben werden.

Ein Test im Browser (Edge und Firefox) ergab, das ein eingefügtes Alert

$(document).ready() { alert("test");

in dieser fehlerhaften Funktion dennoch ausgeführt wird.

Entschuldigung, mein Fehler. Der Block wird natürlich ausgeführt, nur nicht zum Zeitpunkt des Document-Ready, sondern bereits dann, wenn der Browser den Code parst.

Nur die Funktionalität die mit $(document).ready eigentlich angesprochen werden sollte, die darauf angewiesen ist, das es zur Zeit der Initialisierung geschieht, wird nicht ausgeführt. Was nach deiner Ausführung ja auch Sinn macht :-)

Die beiden Funktionen werden angelegt, auch das $("#SelectedStationStart") wird aufgerufen, aber da kein Element mit dieser ID zu dem Zeitpunkt vorhanden ist, kann dem kein Event-Handler angehängt werden. Zumindest gilt das, wenn der fragliche Javascript-Code im Header steht oder von dort referenziert wird und dabei keine Ausführungsverzögerung angegeben ist (defer). Steht er am Dokumentende, sind die HTML-Elemente bereits im DOM vorhanden und der Eventhandler sollte erfolgreich angehängt werden können, auch ohne dass der Document-Ready-Handler funktioniert.

dedlfix.