diff --git a/ts/editor/focusHandlers.ts b/ts/editor/focusHandlers.ts index b6cfb5c7f..abc7095bb 100644 --- a/ts/editor/focusHandlers.ts +++ b/ts/editor/focusHandlers.ts @@ -20,7 +20,6 @@ function focusField(field: EditingArea) { field.focusEditable(); bridgeCommand(`focus:${field.ord}`); enableButtons(); - caretToEnd(field); } // For distinguishing focus by refocusing window from deliberate focus @@ -31,10 +30,14 @@ export function onFocus(evt: FocusEvent): void { const previousFocus = evt.relatedTarget as EditingArea; if ( - previousFocus === previousActiveElement || - !(previousFocus instanceof EditingArea) + !(previousFocus instanceof EditingArea) || + previousFocus === previousActiveElement ) { focusField(currentField); + + if (previousFocus) { + caretToEnd(currentField); + } } }