自定义指令----focus获取焦点事件

 <input type="text" class="form-control" v-model="keywords" id="search" v-focus > 
  /*使用Vue.directiive()定义全局的指令
        其中:参数1:指令的名称,之一在定义的时候,指令的名称前 面不需要加 v- 前缀, 但是在调用的时候必须加v-
              参数2:是一个对象,在这个对象上,有一些指令相关函数,这些函数可以在特定阶段,执行相关的操作
        */
        
        Vue.directive('focus', {
            //注意在每个函数中,第一个参数永远是el表示被绑定了指令的哪个元素,这个el是元素的js对象  
            bind: function(el){//每当指令绑定到元素上的时候,会立即执行,只执行一次
                //在元素绑定了指令时候,还没有插入到DOM中去,这时候调用focus方法没有作用。因为这个元素只有在插入DOM之后才能获取焦点。

            },
            inserted: function(el){// 元素插入到DOM中的时候,会执行inserted函数,触发一次
                el.focus()
            },
            updated(el) {//当VNode更新的时候,会执行updated,可能会触发多次
                
            },
        })

  

posted @ 2019-09-10 18:03  小白咚  阅读(1698)  评论(0编辑  收藏  举报