fix:修改测试出的问题
This commit is contained in:
@ -49,9 +49,22 @@ export default {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener("keydown",this.handlekeydown)
|
||||
// 仅在挂载时注册总线,不在这里绑定全局键盘事件(避免 KeepAlive 导致的重复/遗留绑定)
|
||||
EventBus.on('SetMenubutton',this.setbutton);
|
||||
},
|
||||
activated() {
|
||||
// 仅在当前页面处于激活状态时绑定
|
||||
window.addEventListener("keydown", this.handlekeydown);
|
||||
},
|
||||
deactivated() {
|
||||
// 从可见切换为缓存(隐藏)时,解绑,避免隐藏页误触发
|
||||
window.removeEventListener("keydown", this.handlekeydown);
|
||||
},
|
||||
beforeUnmount() {
|
||||
// 彻底卸载时,兜底解绑
|
||||
window.removeEventListener("keydown", this.handlekeydown);
|
||||
EventBus.off && EventBus.off('SetMenubutton', this.setbutton);
|
||||
},
|
||||
methods: {
|
||||
setbutton(command){
|
||||
if (command.name == "DC"){
|
||||
@ -83,7 +96,21 @@ export default {
|
||||
this.$emit("menubalclicked", command)
|
||||
},
|
||||
handlekeydown(event) {
|
||||
// console.log(event.key);
|
||||
// 在可编辑环境中不触发应用快捷键
|
||||
const t = event.target || {};
|
||||
const tag = (t.tagName || '').toLowerCase();
|
||||
const isEditable = t.isContentEditable || tag === 'input' || tag === 'textarea' || tag === 'select';
|
||||
if (isEditable) return;
|
||||
|
||||
// 只处理来自本应用根节点(#app)内的事件,忽略外部悬浮窗/插件
|
||||
const appRoot = document.getElementById('app');
|
||||
if (!appRoot || !appRoot.contains(event.target)) return;
|
||||
|
||||
// 不劫持系统复制快捷键 Ctrl+C
|
||||
if (event.ctrlKey && !event.shiftKey && (event.key === 'c' || event.key === 'C')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.ctrlKey) {
|
||||
if (event.key == "n" || event.key == "N") {
|
||||
this.onmenuclick('Set', 'Workmode');
|
||||
@ -94,11 +121,10 @@ export default {
|
||||
if (event.key == "w" || event.key == "W") {
|
||||
this.onmenuclick('Set', 'Weavelenth');
|
||||
}
|
||||
if (event.key == "c" || event.key == "C") {
|
||||
// 将“定标”快捷键改为 Ctrl + Shift + C,避免与系统复制冲突
|
||||
if (event.shiftKey && (event.key == "c" || event.key == "C")) {
|
||||
this.onmenuclick('Set', 'Calibrate');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user