gpt4 book ai didi

javascript - Coffee 脚本 - 保留类上下文和事件上下文

转载 作者:搜寻专家 更新时间:2023-11-01 04:10:47 24 4
gpt4 key购买 nike

寻找常见问题的优雅解决方案:

我有一个订阅了几个事件的类,我希望处理程序是我的类中的一个实例方法,但也想获取事件上下文(在这种情况下触发事件的元素)。

我在方法定义中使用粗线语法,但无法获取事件上下文。具体来说,我使用的是 raphael js,当订阅元素时,事件对象不包含元素,只包含 dom 元素,所以没有事件上下文,我将不得不通过它在论文中的 raphael id 来搜索元素,我不喜欢。

在这种情况下,最佳做法是什么?我目前在每次订阅事件之前创建一个新的上下文对象,上下文包含实例引用和元素引用。

最佳答案

如果我对您的理解正确,您希望在处理程序函数中保留对绑定(bind)和未绑定(bind)上下文的引用。您可以通过手动执行类似于粗箭头所做的操作来实现此目的:

class TheListenerObject
constructor: ->
context = @ # some people may call it `self`
@theHandlerMethod = () ->
referenceToTheListenerObjectInstance = context
referenceToTheUnboundContext = @

关于javascript - Coffee 脚本 - 保留类上下文和事件上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com