2016-07-07 6 views
0

I 2 Funktionen auf Klick eine Taste in coffeescript.but rufen versuche ich bin immer Fehler dialtone() is not a functionWie in Kaffee Skript 2 Funktionen auf Onclick nennen

dialtone1 = -> 
    audio = document.getElementById('dialtone1') 
    if audio.paused 
    audio.play() 
    else 
    audio.currentTime = 0 
    return 
alex.on Events.Click, (event, layer) -> timer() dialtone() 

Wie kann ich diese lösen

+0

Gibt es eine separate Wähltonfunktion? Dialtone1 ist in Ihrem Beispielcode definiert –

Antwort

1

Sie zwei Dinge falsch:

  1. Es gibt keine dialtone Funktion, die Funktion dialtone1 genannt.
  2. timer() dialtone() tut nicht, was Sie denken, dass es tut.

Wenn Coffee timer() dialtone() sieht, es denkt, dass Sie meinen

timer()(dialtone()) 

heißt nennen, was timer kehrt als eine Funktion mit dem, was dialtone liefert als Argument.

Befestigen Sie den Fehler im Funktionsnamen (entweder, wo Sie es definieren, oder wo Sie es nennen) und zwei Anweisungen verwenden, um die Funktionen aufzurufen:

alex.on Events.Click, (event, layer) -> timer(); dialtone() 
# ---------------------------------------------^ 

oder

alex.on Events.Click, (event, layer) -> 
    timer() 
    dialtone() 

oder auch:

timer_and_dialtone = -> 
    timer() 
    dialtone() 
alex.on Events.Click, timer_and_dialtone