需求:当我们进入某个页面,页面中的第一个input会自动获得焦点 光标闪烁,代表可输入

<div id="app">
  //v-focus 是自定义的
 <input type="text" class="form-control" v-focus/>
</div> //script
<script>
  //自定定义指令 v-focus
  //使用 Vue.directive()定义全局指令
  //其中 参数1 : 指令的名称,注意,在定义的时候,指令的名称前面,不需要加 v- 前缀
  //但是 在调用的时候,必须在指令名称前 加上 v- 前缀来进行调用
  //参数2 :是一个对象,这个对象身上有一些指令相关的函数,这些函数可以在特定的阶段,执行相关的操作   
  Vue.directive('focus',{
    bind: function(el){//每当指令绑定到元素上的时候,会立即执行这个bind函数,只执行一次
      //注意 在每个函数中,第一个参数是el,表示被绑定了指令的那个元素,这个el是一个原生的JS对象,所以el有一些js的方法
      //在元素 刚绑定了指令的时候,还没有插入到DOM中去,这时候调用focus方法没有作用,因为一个元素只有插入DOM之后才能获取焦点
      el.focus()//这个方法不合适 虽然不报错 但是没效果,需要插入到DOM中
      //和样式相关的操作,一般都可以在bind中执行
    },
    inserted: function(el){//元素插入到DOM中的时候,会执行inserted函数,触发一次
      //和JS行为有关的操作,最好在inserted中去执行,防止js行为不生效
      el.focus()
    },
    updated: function(){//当组件或VNode更新的时候会执行updated,可能会触发多次     }
  })
  //自定义一个私有的过滤器(局部)
  var vm = new Vue({
    el:'app',
    data:{
      msg:''
    },
    method:{},
    filters:{//定义私有过滤器 过滤器有两个条件 过滤器名称和处理函数
      
    }
  })
</script>

可以查看官网介绍:https://cn.vuejs.org/v2/guide/custom-directive.html

vue学习(十七) 使用自定义指令 使文本框获得鼠标焦点的更多相关文章

  1. vue学习-day02(自定义指令,生命周期)

    目录: 1.案例:品牌管理    2.Vue-devtools的两种安装方式    3.过滤器,自定义全局或私有过滤器    4.鼠标按键事件的修饰符    5.自定义全局指令:让文本框获取焦点   ...

  2. Vue基础进阶 之 自定义指令

    自定义指令-----钩子函数 自定义指令 除了内置指令,Vue也允许用户自定义指令: 注册指令:通过全局API Vue.directive可以注册自定义指令: 自定义指令的钩子函数: bind: in ...

  3. delphi 可以自定义边框的文本框TSkinNormalEdit思路(QQ2011风格)

    需求: QQ我的资料中基本资料窗体中的文本框: 正常状态下,文本框只有一条看起来只有一个像素的边框,边框的颜色从上到下由深到浅的渐变,当鼠标定位到该文本框时,其边框会变粗,而且边框的颜色加亮显示 如下 ...

  4. JQuery下focus()无法自动获取焦点的处理方法 jquery如何使文本框获得焦点

    今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用 jQuery的话 是不是对象.focus()就可以了, Jav ...

  5. html怎样可是使文本框内容不可修改

    html怎样可是使文本框内容不可修改 <input type="text" readonly="readonly" onfocus="alert ...

  6. Flutter学习笔记(21)--TextField文本框组件和Card卡片组件

    如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...

  7. winform窗口打开后文本框的默认焦点设置

    原文:http://blog.csdn.net/kongwei521/article/details/6871411 winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种 ...

  8. IE浏览器 下面的文本框,获得焦点后无法输入内容

    今天遇到一个问题,在IE浏览器下面,我点击 按钮  弹出一个弹出层,里面有一个 文本编辑器和一个文本框,但是第二次弹出后,文本框和文本编辑器无法输入内容,在控制台用js代码测试 $(document) ...

  9. android启动activity文本框不获得焦点

    在开发中,常常会碰到这种情况,打开一个activity后,第一个文本框自动获得焦点,同时会弹出软键盘输入框,这样很影响用户体验,现在来看解决方法. 我们先来看看为什么会出现上述情况,原因很简单,文本框 ...

随机推荐

  1. 入门大数据---Hbase_Java_API

    一.简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @depreca ...

  2. 华为云—环境安装(jdk安装,tomcat安装)

    前言 在前面咱们讲到华为云的购买以及一些配置,通过上一文即可获得一个可以直接访问使用的云服务器.但是对于不同的人群服务器的使用用途可能不同,对于咱们大部分的java程序员来说,jdk.tomcat.m ...

  3. 遍历form中的所有空间并找到选中的radiobutton

    源文件: http://pan.baidu.com/share/link?shareid=1481950339&uk=3912660076 参考:http://msdn.microsoft.c ...

  4. vscode 配置 c++ 环境

    vscode 配置 c++ 环境 参考的这篇bloghttps://blog.csdn.net/bat67/article/details/81268581 1.安装编译器.这里安装 codebloc ...

  5. 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之MySQL配置

    mysql高并发配置 要在mysqld下设置 1. 修改back_log参数值:由默认的50修改为500.(每个连接256kb,占用:125M) back_log=500 back_log值指出MyS ...

  6. Mac OS下安装mysqlclient遇到的一些坑

    在玩django的同时,必须需要mysqlclient和pillow包,想在本地Mac上装上mysqlclient,但着实遇到不少坑,最终还是在github issue中找到了解决方法,这里记录一下, ...

  7. Qt-文件系统

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=45 参考文档:<Qt教程.docx> 说明:本文主要介绍Qt的文件系统. ...

  8. day56 js收尾,jQuery前戏

    目录 一.原生js事件绑定 1 开关灯案例 2 input框获取焦点,失去焦点案例 3 实现展示当前时间,定时功能 4 省市联动 二.jQuery入门 1 jQuery的两种导入方式 1.1 直接下载 ...

  9. 已知如下代码,如何修改才能让图片宽度为 300px ?注意下面代码不可修改。

    <img src="1.jpg" style="width:480px!important;”> 总结: max-width:300px transform: ...

  10. SQL批量插入数据【万级】

    1.每4000条插入一次 for (int i = 0; i < dt.Rows.Count; i++) { IsTBProductForStockInfo model = new IsTBPr ...