以下知识源码位置: [Git: https://gitee.com/zhouweng/mini_sheet version=01de75b205727de620966fa52c1733b9c8fb253a]
源代码回滚版本,参考这里[ https://blog.csdn.net/u010593516/article/details/113767587 ]
今天的知识点非常重要,我们要使用javascript响应键盘的操作,在excel文件,选定单元格,键盘ctrl+c,然后到minisheet,键盘ctrl+v,可以实现相关单元格数据的复制。反过来,在minisheet也可以复制相关单元格数据到excel,效果如下:
0.基础知识:
0.1.粘贴板相关
Google浏览器 e.originalEvent.clipboardData
IE浏览器 window.clipboardData
获取粘贴板数据 clipboardData.getData()
0.2.键盘事件相关
event.ctrlKey / event.keyCode / event.stopPropagation()
1.修改文件:
1.1.controllers/select.js: 新增函数 selectionCopyShow() ,在用户选择单元格区域,键盘ctrl+c后,显示复制的虚线框样式
1.2.controllers/contant.js: 新增下面两个元素:
id=luckysheet-selection-copy 复制sheet的时候,绚丽的循环点线
id=luckysheet-copy-content 粘贴excel过来的数据
1.3.controllers/handler.js: 响应document的paste事件
1.4.core.js: 页面初始化的时候,初始化键盘 keyboardInitial()
2.新增文件:
2.1.controllers/keyboard.js: 键盘相关的初始化命令都在 keyboardInitial() ,这个版本只定义了 ctrl+c (复制) / ctrl+v(粘贴)
2.2.controllers/selection.js: 这里定义了 copy()和 pasteHandler() 两个函数,分别实现复制和粘贴两个事件。
今天的介绍就到这里,我们学会了怎么使用键盘,有兴趣的朋友可以参考 https://blog.csdn.net/dkm123456/article/details/113680875 学习怎么用javascipt写一个贪食蛇的小游戏。