VUE 鼠标移入/移除,显示/隐藏操作按钮

这里为大家介绍两种方式:

1.给dom绑定鼠标移入/移除事件:@mouseover@mouseleave

2.使用css:hover修改dom样式

方式1,示例代码:

<template>
    <div class="home-model-content" style="background-color: #A2D1FF" @mouseover="show3 = true" @mouseleave="show3 = false">
        <div class="model-text-content">
            <div class="model-item-title">
                <h2>AI翻译</h2>
            </div>
            <div class="model-item-content">
                不用掌握多门知识,快速翻译多国语言~
            </div>
            <div class="hoverClass">
                <span v-if="show3">立即体验🤏</span>
            </div>
        </div>
    </div>
</template>

<script setup>
import {ref} from "vue";
const show3 = ref(false)
</script>

<style lang="stylus" scoped>
.hoverClass{
  height: 10px;
  margin-top: 16px
}
</style>

方式2,示例代码:

<template>
    <div class="home-model-content" style="background-color: #A2D1FF">
        <div class="model-text-content">
            <div class="model-item-title">
                <h2>AI翻译</h2>
            </div>
            <div class="model-item-content">
                不用掌握多门知识,快速翻译多国语言~
            </div>
            <div class="hoverClass">
                <span class="show4">立即体验🤏</span>
            </div>
        </div>
    </div>
</template>

<script setup>

</script>

<style lang="stylus" scoped>
.hoverClass{
  height: 10px;
  margin-top: 16px
}
.show4 {
  visibility: hidden; /* 默认隐藏按钮 */
  opacity: 0; /* 可选,使按钮在视觉上消失 */
  transition: visibility 0s, opacity 0.5s ease; /* 可选,添加过渡效果 */
}
.content4:hover .show4 {
  visibility: visible; /* 鼠标悬停时显示按钮 */
  opacity: 1; /* 可选,使按钮在视觉上显现 */
  text-decoration: underline;
}
</style>

### Vue.js 中监听鼠标事件的方法 在 Vue.js 中,可以通过绑定 `v-on` 指令或者其缩写形式 (`@`) 来监听鼠标的特定事件。以下是详细的说明以及代码示例。 #### 使用 `v-on` 或者 `@` 绑定鼠标事件 Vue 提供了一种简单的方式来绑定 DOM 事件到组件实例中的方法上。例如,要监听鼠标移入移除事件,可以分别使用 `mouseover` `mouseout` 属性[^1]。 ```vue <template> <div> <!-- 鼠标移入 --> <button @mouseover="handleMouseOver">鼠标移入</button> <!-- 鼠标移除 --> <button @mouseout="handleMouseOut">鼠标移除</button> <p>{{ message }}</p> </div> </template> <script> export default { data() { return { message: '等待操作...' }; }, methods: { handleMouseOver() { this.message = '鼠标移入按钮'; }, handleMouseOut() { this.message = '鼠标已离开按钮'; } } }; </script> ``` 上述代码展示了如何通过定义两个方法 `handleMouseOver` `handleMouseOut` 并将其绑定至对应的 HTML 元素上的鼠标事件来响应用户的交互行为。 #### 动态绑定事件修饰符 为了简化常见的需求,Vue 还支持事件修饰符。比如 `.stop`, `.prevent`, `.capture`, `.self`, `.once`, `.passive` 等。如果希望阻止默认行为或停止冒泡,则可以在事件名称后面加上这些修饰符: ```html <!-- 停止点击事件冒泡 --> <button @click.stop="doThis"></button> <!-- 阻止单击事件并防止表单提交 --> <form @submit.prevent="onSubmit"> ... </form> ``` 以上例子中,`.stop` 可以用来阻止事件传播;而 `.prevent` 则用于取消浏览器的默认动作。 #### 结合实际场景应用 除了基本的功能外,在某些情况下可能还需要结合其他技术手段完成更复杂的逻辑处理。例如当页面加载完成后自动请求远程接口获取初始数据列表时,就可以利用生命周期钩子函数配合 AJAX 请求工具库 Axios 实现动态内容渲染[^2]: ```javascript var vm = new Vue({ el: '#app', data: { items: [] }, methods: { fetchData() { axios.get('/api/data') .then(response => { this.items = response.data; }) .catch(error => { console.error("There was an error!", error); }); } }, mounted() { this.fetchData(); } }); ``` 此段脚本演示了在一个新创建的应用程序实例挂载完毕之后立即发起一次网络调用,并把返回的数据赋值给本地变量 `items` ,从而触发视图更新过程。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值