fix: 修复在进行组件配置,输入框调整光标位置时,光标位置没有改变而是调整了组件位置的问题

main
wu.jian2 2 years ago
parent 053f4f4536
commit 6293740718

@ -32,27 +32,35 @@ export default {
pasteCharts: 'pasteCharts' pasteCharts: 'pasteCharts'
}), }),
keydown (event) { keydown (event) {
if (event.keyCode === 37) { // 获取当前获得焦点的元素
// 关闭默认事件 const activeElement = document.activeElement
event.preventDefault() // 判断当前获得焦点的元素是否是一个输入元素
// 左箭头键被按下 const isInputFocused = activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement
this.changeActivePos({ diffX: -1, diffY: 0 }) if (!isInputFocused) {
} else if (event.keyCode === 38) { // 当前页面没有输入聚焦
// 关闭默认事件 if (event.keyCode === 37) {
event.preventDefault() // 关闭默认事件
// 上箭头键被按下 event.preventDefault()
this.changeActivePos({ diffX: 0, diffY: -1 }) // 左箭头键被按下
} else if (event.keyCode === 39) { this.changeActivePos({ diffX: -1, diffY: 0 })
// 关闭默认事件 } else if (event.keyCode === 38) {
event.preventDefault() // 关闭默认事件
// 右箭头键被按下 event.preventDefault()
this.changeActivePos({ diffX: 1, diffY: 0 }) // 上箭头键被按下
} else if (event.keyCode === 40) { this.changeActivePos({ diffX: 0, diffY: -1 })
// 关闭默认事件 } else if (event.keyCode === 39) {
event.preventDefault() // 关闭默认事件
// 下箭头键被按下 event.preventDefault()
this.changeActivePos({ diffX: 0, diffY: 1 }) // 右箭头键被按下
this.changeActivePos({ diffX: 1, diffY: 0 })
} else if (event.keyCode === 40) {
// 关闭默认事件
event.preventDefault()
// 下箭头键被按下
this.changeActivePos({ diffX: 0, diffY: 1 })
}
} }
// ctrl/command + s保存 // ctrl/command + s保存
if ((event.ctrlKey || event.metaKey) && event.keyCode === 83) { if ((event.ctrlKey || event.metaKey) && event.keyCode === 83) {
// 关闭默认事件 // 关闭默认事件

Loading…
Cancel
Save