当前位置:网站首页>自定义指令,获取焦点
自定义指令,获取焦点
2022-08-01 20:01:00 【kilito_01】
// 对Vue的全局指令, 进行封装
// 封装中间件函数插件
const directiveObj = {
install (Vue) {
Vue.directive('focus', {
// el代表指令所在标签
// 指令所在标签, 被插入到真实DOM时才触发, 如果标签用display:none隐藏再出现, 不会在触发inserted的
inserted (el) {
// 指令所在van-search组件
// 组件根标签是div, input在内部
// 以上都是原生标签对象
// 搜索页面 el是div
// 文章评论 el是textarea
// 以后el还可能是input呢
// 知识点: 原生DOM.nodeName 拿到标签名字 (注意: 大写的字符串)
if (el.nodeName === 'TEXTAREA' || el.nodeName === 'INPUT') {
el.focus()
} else {
// el本身不是输入框, 尝试往里获取一下
setTimeout(() => {
const theInput = el.querySelector('input')
const theTextArea = el.querySelector('textarea')
// 判断: 不一定能获取得到, 需要加判断, 有值了, 再执行.focus()才不报错
if (theInput) theInput.focus()
if (theTextArea) theTextArea.focus()
})
}
},
update (el) {
// 指令所在标签, 被更新时触发
if (el.nodeName === 'TEXTAREA' || el.nodeName === 'INPUT') {
el.focus()
} else {
// el本身不是输入框, 尝试往里获取一下
setTimeout(() => {
const theInput = el.querySelector('input')
const theTextArea = el.querySelector('textarea')
// 判断: 不一定能获取得到, 需要加判断, 有值了, 再执行.focus()才不报错
if (theInput) theInput.focus()
if (theTextArea) theTextArea.focus()
})
}
}
})
}
}
export default directiveObj
在main。js中全局注册就好了
import directiveObj from ‘./utils/directive’
Vue.use(directiveObj)
边栏推荐
- 漏刻有时文档系统之XE培训系统二次开发配置手册
- Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?
- win10,在proe/creo中鼠标中键不能放大缩小
- PROE/Croe如何编辑已完成的草图,让其再次进入草绘状态
- 大神经验:软件测试的自我发展规划
- 18、分布式配置中心nacos
- 把 Oracle 数据库从 RAC 集群迁移到单机环境
- MySQL开发技巧——并发控制
- Failed to re-init queues : Illegal queue capacity setting (abs-capacity=0.6) > (abs-maximum-capacity
- 【个人作品】无线网络图传模块
猜你喜欢
随机推荐
deploy zabbix
30天刷题计划(五)
第59章 ApplicationPart内置依赖注入中间件
实用新型专利和发明专利的区别?秒懂!
nacos安装与配置
58:第五章:开发admin管理服务:11:开发【管理员人脸登录,接口】;(未实测)(使用了阿里AI人脸识别)(演示了,使用RestTemplate实现接口调用接口;)
不恰当Equatable协议==方法的实现对SwiftUI中@State修饰属性的影响
因斯布鲁克大学团队量子计算硬件突破了二进制
【无标题】
【ES】ES2021 我学不动了,这次只学 3 个。
JS数组过滤
【kali-信息收集】(1.3)探测网络范围:DMitry(域名查询工具)、Scapy(跟踪路由工具)
WhatsApp群发实战分享——WhatsApp Business API账号
【节能学院】数据机房中智能小母线与列头柜方案的对比分析
【个人作品】无线网络图传模块
【nn.Parameter()】生成和为什么要初始化
第58章 结构、纪录与类
57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
专利检索常用的网站有哪些?
SIPp 安装及使用


![[Personal Work] Remember - Serial Logging Tool](/img/8c/56639e234ec3472f4133342eec96d6.png)






