ACE编辑器”;解析结束”;事件
ACE Editor "end of parsing" event
我希望在ACE编辑器结束解析新源代码时回调一个函数,以便能够在每个后续的.ace_identifier
DOM节点上添加一个点击事件侦听器。到目前为止,我找不到合适的ACE事件来进行此操作,并且以下简单的代码没有任何作用:
editor = ace.edit $('#editor')
editor.setReadOnly true
// editor change event - never triggered in this case
editor.getSession().on 'change', (e) ->
console.log e
// changing the language makes ACE parse the source code and generates
// a new DOM...
editor.getSession().setMode "ace/mode/javascript"
// ... but a this point, $('.ace_identifier') returns a empty array
// instead of the expected list of ace_identifiers created
console.log $('.ace_identifier')
没有"解析结束"的事件,可以在editor.renderer
上使用afterRender
事件,但ace使用dom作为画布,只为文本的可见部分创建节点,并且经常丢弃和重绘整个内容,因此在ace编辑器中向dom节点添加事件侦听器是个坏主意。
您可以在编辑器中添加一个侦听器,并使用session.getToken
在光标下获取令牌。
这场在谷歌王牌小组的讨论可能会有所帮助https://groups.google.com/d/msg/ace-discuss/XFnf3-3gcAY/u7OIMdHkGGwJ
相关文章:
- 处理第三方库发送的ajax请求的开始和结束事件
- 在触摸结束事件期间,Find元素手指处于打开状态
- 检测 iPhone 结束事件
- 无法从响应的结束事件中对 Http.Request 进行递归调用
- iOS7 野生动物园移动版|网页视频流 |未触发已结束事件
- 如何创建自定义事件来处理所有转换结束事件
- 有没有办法忽略某些基于 css 属性的转换结束事件
- 在 Firefox 中测试转换结束事件支持
- CSS 转换和转换结束事件的争用条件 - 找不到解决方案
- 转换结束事件未触发
- 模拟触摸开始和触摸结束事件
- 检测异步系统中的结束事件
- 将“结束”事件绑定到没有 ID 或类的声音播放
- 转换结束事件触发两次
- Node.js Http服务器,readstream结束事件两次触发console.log
- 我怎样才能浏览's”;束“;函数来发出结束事件
- 无论是否有请求的结束事件;这就是区别
- openlayer3捕获移动结束/缩放结束事件
- iPad1在视频播放结束之前启动视频结束事件
- 结束事件视频不工作