我正在尝试创建一个可用于每个对象的动画函数,因此在我的代码中我将其定义为:
$.fn.closeCurtain = ->
$('.curtain').animate
height: '65%'
500
-> $(this).animate
height: '0%'
500
然后我想在一个不起作用的点击事件上调用它,但是该功能在对象原型中可用。
$ ->
$('.mainMenu ul li a').on('click', -> $(this).closeCurtain())
有人可以帮我这个吗?
答案 0 :(得分:1)
尽管使用胖箭头是正确的,但jQuery确实有一个解决方案,$.proxy
.on('click', $.proxy($(this), 'closeCurtain'))
答案 1 :(得分:0)
解决。
我必须使用=>
的粗略格式来引用当前this
。
.on('click', => $(this).closeCurtain())