Coffeescript / jQuery函数仅在原型中可用

时间:2013-01-29 23:27:23

标签: jquery coffeescript

我正在尝试创建一个可用于每个对象的动画函数,因此在我的代码中我将其定义为:

$.fn.closeCurtain = ->
    $('.curtain').animate
      height: '65%'
      500
      -> $(this).animate
        height: '0%'
        500

然后我想在一个不起作用的点击事件上调用它,但是该功能在对象原型中可用。

$ ->
  $('.mainMenu ul li a').on('click', -> $(this).closeCurtain())

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

尽管使用胖箭头是正确的,但jQuery确实有一个解决方案,$.proxy

.on('click', $.proxy($(this), 'closeCurtain'))

答案 1 :(得分:0)

解决。

我必须使用=>的粗略格式来引用当前this

.on('click', => $(this).closeCurtain())