0

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

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

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

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

有人可以帮我吗?

4

2 回答 2

1

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

.on('click', $.proxy($(this), 'closeCurtain'))
于 2013-01-30T00:30:34.157 回答
0

解决了。

我不得不使用总形式=>来引用当前的this.

.on('click', => $(this).closeCurtain())
于 2013-01-29T23:39:32.323 回答