咖啡脚本 - 保留类上下文和事件上下文
Coffee script - preserve the class context and the event context
寻找常见问题的优雅解决方案:
我有一个订阅几个事件的类,我希望处理程序是我的类中的一个实例方法,但也想获取事件上下文(在这种情况下触发事件的元素)。
我正在使用胖线语法进行方法定义,但无法获取事件上下文。具体来说,我使用的是raphael js,在订阅元素时,事件对象不包含元素,只有dom元素,因此如果没有事件上下文,我将不得不在论文中通过raphael id搜索元素,我不喜欢它。
在这种情况下,最佳做法是什么?我目前正在每次订阅事件之前创建一个新的上下文对象,上下文包含实例引用和元素引用。
如果我
理解正确,您希望在处理程序函数中保留对绑定和未绑定上下文的引用。您可以通过手动执行类似于胖箭头的操作来实现此目的:
class TheListenerObject
constructor: ->
context = @ # some people may call it `self`
@theHandlerMethod = () ->
referenceToTheListenerObjectInstance = context
referenceToTheUnboundContext = @
相关文章:
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- File Upload事件上下文和javascript
- API Google Maps Javascript在上下文菜单中调用事件侦听器
- 收听单选按钮取消选择事件而不知道按钮's上下文(骨干视图)
- query点击事件获胜't返回激发上下文
- extjs中事件处理程序函数中的THIS上下文
- Babel中的d3事件回调上下文更改
- 如何在父视图中绑定子视图处理事件的上下文
- 显示和隐藏上下文菜单时的 Jstree 调用事件
- 单击文本框的右键单击上下文菜单的“删除”后触发的事件
- jQuery移动触摸事件处理,此关键字上下文,并正确使用闭包
- Jstree上下文菜单在右键单击时select_node抑制更改事件
- 淘汰赛.js事件上下文
- 处理右键单击事件后不显示上下文菜单
- 角度控制器中的上下文感知科尔多瓦事件
- 上下文菜单的 Jquery 停止事件
- 从 Jquery 上下文菜单项的下拉列表中获取所选值,选择更改事件
- TinyMCE onPaste 不设置内容,使用上下文菜单粘贴不会触发更改事件
- 咖啡脚本 - 保留类上下文和事件上下文
- 手动触发的JavaScript事件未针对iFrame上下文内的元素传播