vue判断input是否聚焦
时间: 2023-06-29 16:12:49 浏览: 207
vue-tags-input组件使用指南(推荐)
在 Vue 中,可以通过 `$refs` 引用组件中的元素,通过访问元素的 `document.activeElement` 属性来判断元素是否聚焦。
以下是一个示例代码:
```
<template>
<div>
<input ref="myInput" type="text">
</div>
</template>
<script>
export default {
mounted() {
// 添加事件监听器,当输入框聚焦或失焦时调用相应的方法
this.$refs.myInput.addEventListener('focus', this.handleFocus);
this.$refs.myInput.addEventListener('blur', this.handleBlur);
},
methods: {
handleFocus() {
console.log('输入框聚焦了');
},
handleBlur() {
console.log('输入框失焦了');
},
isInputFocused() {
// 判断输入框是否聚焦
return this.$refs.myInput === document.activeElement;
}
}
}
</script>
```
在上面的示例代码中,我们在组件的 `mounted` 钩子中添加了两个事件监听器,分别监听 `focus` 和 `blur` 事件。同时,我们还添加了一个 `isInputFocused` 方法,该方法通过比较 `$refs.myInput` 和 `document.activeElement` 是否相等来判断输入框是否聚焦。
阅读全文