Vue中的@blur/@focus事件解读

Vue的@blur/@focus事件

  • @blur 是当元素失去焦点时所触发的事件
  • @focus是元素获取焦点时所触发的事件
<template>
  <div>
    <!--
    @blur 当元素失去焦点时触发blur事件
    -->
    <div>
      <input type="text" placeholder="请输入内容" @blur="blurText"/>
    </div>
 
  </div>
</template>
 
<script>
    export default {
      name: "commitText",
      methods:{
        blurText(){
          console.log("blur事件被执行了")
        }
      }
    }
</script>
 
<style scoped>
 
</style>

focus和blur事件,改变选中时搜索框的背景色

template

<div class="search-box" ref="searchBoxOfChatRoom">
    <i class="fa fa-search" aria-hidden="true"></i>
    <input
        ref="searchOfChatRoom"
        class="chatroom-search"
        type="search"
        placeholder="搜索群成员"
        @focus="changBackground(1)"
        @blur="changBackground(2)"
    >
</div>

js

changBackground (flag) {

  switch (flag) {
    case 1:
      console.log('获取焦距')
      this.$refs.searchBoxOfChatRoom.style.background = 'white'
      this.$refs.searchOfChatRoom.style.background = 'white'
      break
    case 2:
      console.log('失去焦距')
      this.$refs.searchBoxOfChatRoom.style.background = '#dadada'
      this.$refs.searchOfChatRoom.style.background = '#dadada'
      break
    default:
      break
  }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://blog.csdn.net/weixin_42246997/article/details/103749770