diff options
Diffstat (limited to 'src/content/focuses.ts')
-rw-r--r-- | src/content/focuses.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/content/focuses.ts b/src/content/focuses.ts new file mode 100644 index 0000000..8f53881 --- /dev/null +++ b/src/content/focuses.ts @@ -0,0 +1,15 @@ +import * as doms from '../shared/utils/dom'; + +const focusInput = (): void => { + let inputTypes = ['email', 'number', 'search', 'tel', 'text', 'url']; + let inputSelector = inputTypes.map(type => `input[type=${type}]`).join(','); + let targets = window.document.querySelectorAll(inputSelector + ',textarea'); + let target = Array.from(targets).find(doms.isVisible); + if (target instanceof HTMLInputElement) { + target.focus(); + } else if (target instanceof HTMLTextAreaElement) { + target.focus(); + } +}; + +export { focusInput }; |