testet eine Funktion in jsfiddle

8

Sorry, wirklich blöde Frage hier. Wenn Sie eine Frage zu javascript oder jquery stellen, sagen die Leute oft - erstellen Sie eine jsfiddle.

Also habe ich es getan. Meine Frage wird sein, divs mit jquery nach oben zu schieben, aber ich kann nicht einmal eine grundlegende JavaScript-Funktion in jsfiddle ausführen.

Ссылка

%Vor%

Ein div, klicken Sie darauf, um eine JavaScript-Funktion aufzurufen, aber jsfiddle sagt, dass die Funktion nicht definiert ist. Kannst du das nicht in jfiddle tun?

    
Martin Smellworse 21.03.2013, 09:18
quelle

1 Antwort

8

Sie haben die Standardoption onLoad in jsfiddle ausgewählt.

Dies führt dazu, dass die Site Ihren gesamten Code in eine Callback-Funktion einbindet, was bedeutet, dass Ihre showit -Funktion keine globale Funktion ist, wie sie von DOM0-Inline-Event-Handlern benötigt wird.

Es gibt mehrere Arbeitsumgebungen in meiner persönlichen Präferenzreihenfolge:

  1. verwenden keine DOM0 Inline-Handler, sie sind wirklich alte Schule - schauen Sie stattdessen in element.addEventListener() und trennen Sie Ihr Markup von Ihrem JS.

  2. Verwenden Sie stattdessen window.showit = function() { ... } , um zu erzwingen, dass Ihre Funktion im globalen Namensraum angezeigt wird.

  3. Wählen Sie eine der Optionen "Kein Umbruch"

Alnitak 21.03.2013 09:26
quelle

Tags und Links