最新 最热

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

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

2023-10-17
4

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

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

2023-10-17
4

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

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

2023-10-17
2

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

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

2023-10-17
4

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

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

2023-10-17
2

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

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

2023-10-17
2

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

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

2023-10-17
2

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

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

2023-10-17
2

从零开始,开发一个 Web Office 套件(6):光标 & Click 事件

然后,在CanvasTextEditor中添加函数createBlinkingCursor,暂时将光标绘制在最后一个字符后面。

2023-10-17
2

从零开始,开发一个 Web Office 套件(5):Mouse hover over text

如上图,CanvasTextEditorChar的包围盒是由:left, boundingBoxTop, width, height定义的。另外,其top仅指的是textBaseLine的纵坐标,跟包围盒没有直接的关系。 我们期望的结果是:当鼠标hover在包围盒上时,产生相应变化。 所...

2023-10-17
2