Ich habe eine JavaScript-Funktion, die funktioniert, wenn es anonym ist, aber funktioniert nicht mehr, wenn ich es in named ändern .. Warum?Zugriff auf Element von einer benannten Javascript-Funktion
hier ist der Code, das funktioniert:
setInterval(function(){
<% @root.children.all(:order => "idx DESC").each do |child| %>
var text2 = "<%= child.content %>";
var pjs = Processing.getInstanceById("mysketch2");
pjs.update(text2);
<% end %>
}, 3000)
Hier den Code ist, die nicht ..
<script>
var interval = setInterval(drawGraph(),1000);
function drawGraph(){
<% @root.children.all(:order => "idx DESC").each do |child| %>
var text2 = "<%= child.content %>";
var pjs = Processing.getInstanceById("mysketch2");
pjs.update(text2);
<% end %>
}
</script>
ich die ‚Uncaught Typeerror: Kann Methode nicht nennen 'get funktioniert update' undefinierter ". Der seltsamste Teil ist, dass ich sehen kann, dass das Processing.js-Fenster auf dem Bildschirm gezeichnet wird, aber das ist es. Mit der Arbeitsversion (die erste in diesem Post) ist alles in Ordnung und der Inhalt des Fensters wird ebenfalls gezeichnet.
Ich habe versucht, pjs in eine globale Variable außerhalb der Funktion drawGraph(), aber kein Glück ... Was vermisse ich? Danke!
Könnte es sein, dass die Funktion drawGraph über dem Aufruf in setInterval definiert werden muss? – TGH
Nur um das Bild zu vervollständigen - das ist möglich, aber nicht empfehlenswert, da es implizit ausgeführt wird: var interval = setInterval ("drawGraph()", 1000); – mplungjan