吉安感知网项目-前端
罗广辉
2026-01-26 beb95fb5fc166804056abafd70fc01ac27de7621
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 输入框获取焦点的时候禁用控制台动作
import store from '@/store'
 
const focusDisableKeys = {
    mounted(el) {
        const inputEl = el.querySelectorAll('input')?.[0] || el.querySelectorAll('textarea')?.[0]
        inputEl.__vueFocusHandler__ = {
            focus: () => (store.state.task.keysDisabled = true),
            blur: () => (store.state.task.keysDisabled = false),
        }
        inputEl.addEventListener('focus', inputEl.__vueFocusHandler__.focus)
        inputEl.addEventListener('blur', inputEl.__vueFocusHandler__.blur)
    },
    unmounted(el) {
        const inputEl = el.querySelectorAll('input')?.[0] || el.querySelectorAll('textarea')?.[0]
        inputEl.removeEventListener('focus', inputEl.__vueFocusHandler__.focus)
        inputEl.removeEventListener('blur', inputEl.__vueFocusHandler__.blur)
        delete inputEl.__vueFocusHandler__
    },
}
 
export default focusDisableKeys