最新 最热

从零开始,开发一个 Web Office 套件(16):拖动控制点,调整编辑器大小

原因分析:这是因为编辑器平移或调整大小后,editor.blankSpace没有及时更新。

2023-10-17
1

从零开始,开发一个 Web Office 套件(15):拖动边框,平移编辑器

Bug表现:如下图,我加了一些辅助线。当我的鼠标从两个边框重叠处开始拖动,且我拖动了一定距离(记为n),但是编辑器却移动了2n的距离。

2023-10-17
1

从零开始,开发一个 Web Office 套件(14):复制、粘贴、剪切、全选

在Mac上,当用户按下command键时,KeyboardEvent.metaKey为true;在Windows上,当用户按下ctrl键时,KeyboardEvent.ctrlKey为true.

2023-10-17
1

从零开始,开发一个 Web Office 套件(13):删除、替换已选中文字

腾讯云开发者社区是腾讯云官方开发者社区,致力于打造开发者的技术分享型社区。提供专栏,问答,沙龙等产品和服务,汇聚海量精品云计算使用和开发经验,致力于帮助开发者快速成长与发展,营造开放的云计算技术生态圈。...

2023-10-17
1

从零开始,开发一个 Web Office 套件(12):删除文字 & 回车换行

腾讯云开发者社区是腾讯云官方开发者社区,致力于打造开发者的技术分享型社区。提供专栏,问答,沙龙等产品和服务,汇聚海量精品云计算使用和开发经验,致力于帮助开发者快速成长与发展,营造开放的云计算技术生态圈。...

2023-10-17
1

从零开始,开发一个 Web Office 套件(11):支持中文输入法(or 其它使用输入法的语言)

输入中文(或者其它需要输入法的语言),跟输入英文的不同之处在于:我们通过键盘输入的文字,并不是直接显示在input框里。而是要通过输入法进行映射、选择,再填入input框里。...

2023-10-17
1

从零开始,开发一个 Web Office 套件(10):捕获键盘事件,输入文字

为了实现键盘输入,我们需要在container div元素(canvas父元素)中插入一个input(或者textarea)元素,作为代理,来捕获键盘相关事件。

2023-10-17
1

从零开始,开发一个 Web Office 套件(9):拖动鼠标选中文字 Edge Case

上一节我们初步完成了拖动选中文字的feature,不过还遗留了一些 edge case。这篇文章我们来处理它们。

2023-10-17
1

从零开始,开发一个 Web Office 套件(8):状态管理 & 拖动鼠标选中文字

之前,我们的一些全局状态是以class static field的方式存在的。这样做刚开始可能不会出现问题,但是到后面会出问题:

2023-10-17
1

从零开始,开发一个 Web Office 套件(7):新的问题—— Click 事件的 z-index

为了实现这个feature,我们就要监听编辑器空白处的click事件。与此同时,我们会遇到和hover事件相同的问题: 我们需要找到最上层的元素(Char or 空白),触发它的点击事件。...

2023-10-17
1