diff --git a/src/UI/DynamicPrompt/DynamicInputBase.ts b/src/UI/DynamicPrompt/DynamicInputBase.ts index cc982749d..85dc40da6 100644 --- a/src/UI/DynamicPrompt/DynamicInputBase.ts +++ b/src/UI/DynamicPrompt/DynamicInputBase.ts @@ -36,25 +36,23 @@ export class DynamicInput this.inputEl = document.createElement('input'); this.inputEl.style.pointerEvents = "none"; this.inputEl.style.minWidth = "15px"; + this.inputEl.style.border = "3px solid transparent"; + this.inputEl.addEventListener("input", () => { this.OnInput() }); this.inputEl.addEventListener("keydown", e => { this.OnInputKeyDown(e) }); - this.inputEl.addEventListener("keyup", e => - { - if (e.keyCode === KeyBoard.Shift) - this.isShiftDown = false; - }); + this.inputEl.addEventListener("keyup", e => { this.OnInputKeyUp(e); }); this.inputEl.addEventListener("change", () => { this.Lock = true; }); this.inputEl.addEventListener("mousedown", e => { e.stopPropagation() }); this.inputEl.addEventListener("selectstart", e => { e.stopPropagation(); }) - - this.inputEl.style.border = "3px solid transparent"; this.container.appendChild(this.inputEl); + container.appendChild(this.container); this.UpdateWidth = AutoReSize(this.inputEl).updateWidth; this.Blur(); } private m_Lock = false; private m_HasLock = false; + set Lock(lock: boolean) { this.m_Lock = lock; @@ -80,6 +78,7 @@ export class DynamicInput { this.UpdateWidth(); } + OnInputKeyDown(e: KeyboardEvent) { switch (e.keyCode as KeyBoard) @@ -116,6 +115,13 @@ export class DynamicInput } }, 16); } + + OnInputKeyUp(e: KeyboardEvent) + { + if (e.keyCode === KeyBoard.Shift) + this.isShiftDown = false; + } + //激活焦点 public Focus() {