我有一个具有一些jquery事件侦听器的coffeescript类。我想使用粗箭头=>
以避免引用该类,但是我仍然需要引用通常与this
一起使用的元素。如何同时使用两者?
class PostForm
constructor: ->
$('ul.tabs li').on 'click', =>
tab = $(this)
@highlight_tab(tab)
@set_post_type(tab.attr('data-id'))
highlight_tab: (tab)->
tab.addClass 'active'
set_post_type: (id) ->
$('#post_type_id').val(id)
最佳答案
CoffeeScript将this
和@
都链接到外部上下文,因此您无法访问jQuery提供的上下文(也就是所需的“this”)。使用 event.target
代替:
class PostForm
constructor: ->
$('ul.tabs li').on 'click', (event) =>
tab = $(event.target)
@highlight_tab(tab)
关于coffeescript - CoffeeScript:如何同时使用粗箭头和该箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12648187/