画布隐藏关闭键盘事件
This commit is contained in:
@@ -114,6 +114,10 @@ const props = defineProps({
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
hideCanvas: {
|
||||
type: Boolean,
|
||||
default: false, // 是否隐藏画布-隐藏关闭部分功能
|
||||
},
|
||||
});
|
||||
|
||||
// 引用和状态
|
||||
@@ -171,6 +175,15 @@ function toggleShortcutHelp() {
|
||||
showShortcutHelp.value = !showShortcutHelp.value;
|
||||
}
|
||||
|
||||
watch(()=>props.hideCanvas, (newVal)=>{
|
||||
console.log("==========是否隐藏画布",newVal)
|
||||
if(newVal){
|
||||
keyboardManager?.removeEvents()
|
||||
}else {
|
||||
keyboardManager?.init()
|
||||
}
|
||||
})
|
||||
|
||||
// 工具选择处理
|
||||
function handleToolSelect(tool) {
|
||||
activeTool.value = tool;
|
||||
|
||||
@@ -215,6 +215,25 @@ export class KeyboardManager {
|
||||
console.log(`键盘管理器已初始化,平台: ${this.platform}, 触摸设备: ${this.isTouchDevice}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* hide模式下,关闭快捷键
|
||||
*/
|
||||
removeEvents() {
|
||||
// 移除键盘事件监听
|
||||
this.container.removeEventListener("keydown", this._handleKeyDown);
|
||||
this.container.removeEventListener("keyup", this._handleKeyUp);
|
||||
|
||||
// 如果是触摸设备,移除触摸事件监听
|
||||
if (this.isTouchDevice) {
|
||||
this.container.removeEventListener("touchstart", this._handleTouchStart);
|
||||
this.container.removeEventListener("touchmove", this._handleTouchMove);
|
||||
this.container.removeEventListener("touchend", this._handleTouchEnd);
|
||||
this.container.removeEventListener("touchcancel", this._handleTouchEnd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 处理键盘按下事件
|
||||
* @param {KeyboardEvent} event 键盘事件
|
||||
|
||||
Reference in New Issue
Block a user