// 输入框获取焦点的时候禁用控制台动作
|
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
|