乐趣区

关于javascript:读了一个在线excel的源码

发现设计还是很有意思的:

  • 整个表格都是用 canvas 画进去了,据作者说是为了性能。
  • 在 canvas 之上有一层不可见的 table,外部 col, row, cell 和 canvas 上画的 1:1 复制,这是为了无障碍用户。
  • 最顶层是 overlay,用于响应所有鼠标和键盘事件,用户操作后更新到上层 canvas。

    • 这层很简单,要解决点击、拖拽,以及编辑 cell 的各种浮动组件

而后大略看了一下腾讯的在线表格,也是相似的构造(除了没有无障碍层)


退出移动版