控制台中出现Coffeescript错误:未捕获TypeError:对象不是函数

时间:2013-08-05 15:10:19

标签: jquery ruby-on-rails coffeescript

在rails应用程序上工作,我的coffeescript代码坏了。

$('.post-reply4').hide() 

正在运作,但没有别的。点击message4链接不会做任何事情。

控制台出现此错误:未捕获TypeError:对象不是函数

coffescript:

# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/

jQuery ->

    toggleThis = () ->
        $('#post-reply4').show()

    $('.post-reply4').hide()

    $('#message4').on('click') ->
        toggleThis

HTML:

<a href="#message" id="message4">reply</a>

<div class="post-reply4">
stuff
</div>

的application.js:

//= require jquery

//= require jquery_ujs
//= require bootstrap
//= require_tree .

1 个答案:

答案 0 :(得分:1)

你的coffescript函数声明应该是:

toggleThis = ->
    $('.post-reply4').show()

然后你的电话应该是:

$('#message4').on 'click', (evt) ->
    toggleThis() 

请参阅此“Little Book on CoffeeScript”了解语法。

更新:感谢@muistooshort,他在下面的评论中指出,当你应该使用上面代码中更新的类选择器'.post-reply4'时,你正在使用id选择器'#post-reply4'。