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
- ? }
- }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。