我试图在coffeescript中单击一个按钮调用2个函数。但是我收到错误dialtone() is not a function
dialtone1 = ->
audio = document.getElementById('dialtone1')
if audio.paused
audio.play()
else
audio.currentTime = 0
return
alex.on Events.Click, (event, layer) -> timer() dialtone()
我该如何解决这个问题
答案 0 :(得分:1)
你有两件事是错的:
dialtone
函数,该函数名为dialtone1
。timer() dialtone()
并没有按照您的想法行事。当CoffeeScript看到timer() dialtone()
时,它认为你的意思是
timer()(dialtone())
即。调用timer
作为函数返回的函数,其中dialtone
作为参数返回。
修复函数名称中的拼写错误(在您定义它或您调用它的位置)并使用两个语句来调用函数:
alex.on Events.Click, (event, layer) -> timer(); dialtone()
# ---------------------------------------------^
或
alex.on Events.Click, (event, layer) ->
timer()
dialtone()
甚至:
timer_and_dialtone = ->
timer()
dialtone()
alex.on Events.Click, timer_and_dialtone