From 6293740718d2742d128eb3887661684cbeb6eeb1 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Fri, 30 Jun 2023 11:18:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9C=A8=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E7=BB=84=E4=BB=B6=E9=85=8D=E7=BD=AE=EF=BC=8C=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=A1=86=E8=B0=83=E6=95=B4=E5=85=89=E6=A0=87=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E6=97=B6=EF=BC=8C=E5=85=89=E6=A0=87=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=94=B9=E5=8F=98=E8=80=8C=E6=98=AF=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BA=86=E7=BB=84=E4=BB=B6=E4=BD=8D=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/js/mixins/multipleSelectMixin.js | 48 +++++++++++-------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/data-room-ui/packages/js/mixins/multipleSelectMixin.js b/data-room-ui/packages/js/mixins/multipleSelectMixin.js index 1892e894..26b13662 100644 --- a/data-room-ui/packages/js/mixins/multipleSelectMixin.js +++ b/data-room-ui/packages/js/mixins/multipleSelectMixin.js @@ -32,27 +32,35 @@ export default { pasteCharts: 'pasteCharts' }), keydown (event) { - if (event.keyCode === 37) { - // 关闭默认事件 - event.preventDefault() - // 左箭头键被按下 - this.changeActivePos({ diffX: -1, diffY: 0 }) - } else if (event.keyCode === 38) { - // 关闭默认事件 - event.preventDefault() - // 上箭头键被按下 - this.changeActivePos({ diffX: 0, diffY: -1 }) - } else if (event.keyCode === 39) { - // 关闭默认事件 - event.preventDefault() - // 右箭头键被按下 - this.changeActivePos({ diffX: 1, diffY: 0 }) - } else if (event.keyCode === 40) { - // 关闭默认事件 - event.preventDefault() - // 下箭头键被按下 - this.changeActivePos({ diffX: 0, diffY: 1 }) + // 获取当前获得焦点的元素 + const activeElement = document.activeElement + // 判断当前获得焦点的元素是否是一个输入元素 + const isInputFocused = activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement + if (!isInputFocused) { + // 当前页面没有输入聚焦 + if (event.keyCode === 37) { + // 关闭默认事件 + event.preventDefault() + // 左箭头键被按下 + this.changeActivePos({ diffX: -1, diffY: 0 }) + } else if (event.keyCode === 38) { + // 关闭默认事件 + event.preventDefault() + // 上箭头键被按下 + this.changeActivePos({ diffX: 0, diffY: -1 }) + } else if (event.keyCode === 39) { + // 关闭默认事件 + event.preventDefault() + // 右箭头键被按下 + this.changeActivePos({ diffX: 1, diffY: 0 }) + } else if (event.keyCode === 40) { + // 关闭默认事件 + event.preventDefault() + // 下箭头键被按下 + this.changeActivePos({ diffX: 0, diffY: 1 }) + } } + // ctrl/command + s保存 if ((event.ctrlKey || event.metaKey) && event.keyCode === 83) { // 关闭默认事件