在这个问题之后我最近问过: 了解 Document.createElement()
这是上下文:
- 我的 GWT GUI 中有一个文本区域,其中包含一个文本
- 用户可以在此文本区域中选择一个单词(或一系列单词)并将其转换为
highlighted text
highlighted texts
需要能够听用户:点击、右键、拖放操作- 文本区域中有 1000 个的场景
highlighted text
并非不可能。
我想知道:
- 直接在 GWT 中操作 DOM 元素是一种不好的方法吗?(不使用小部件)
- 将侦听器添加到 SpanElement是一种不好的方法吗?它会导致内存泄漏吗?
- 实现这些目标的最佳方法是什么?我已经使用一个使用 span 元素的简单自定义小部件进行了一些测试,在 DevMode 中将 1000 个小部件添加到 RootPanel 大约需要 6 到 10 秒。当我直接使用 DOM 元素时,此操作持续时间不到 1 秒(经过优化甚至不到 200 毫秒)。
编辑
根据我在@Gilberto 建议后所做的一些实际测试,性能应该不是问题。http://jmichelgarciagwt.appspot.com/DOMTesting.html
尽管如此,我还是希望得到问题 1) 和 2) 的反馈