coffeescript - CoffeeScript:如何同时使用粗箭头和该箭头?

标签 coffeescript this arrow-functions

我有一个具有一些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/

相关文章:

javascript - node.js 堆栈跟踪行中冒号后的第二个数字是什么意思?

Javascript : accurate CSS TranslateX ( position ) taking Transform Scale into account

javascript - 多个文件扩展名有什么影响?

javascript - 如何使 Vorpal 输出命令的描述

javascript - 如何从 Javascript 的内部函数访问父对象?

javascript - 使用递归进行深度对象比较

javascript - Node.js:提供 JSON 文档

javascript 替换 + classid

javascript - 这不返回对象属性(箭头,this)

javascript - 了解 .reduce() 中的许多函数参数