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
  }
}

總結

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: