VUE3给页面添加按钮事件

在Vue 3中,可以通过使用setup函数来添加事件和自定义逻辑。下面是一个示例代码,演示了如何添加页面上的alt+b事件

javascript 复制代码
<template>
  <div>
    <p>Press Alt + B to trigger the event!</p>
  </div>
</template>

<script setup>
import { onMounted } from 'vue'

export default {
    // 在页面挂载后添加事件监听
    onMounted(() => {
      const handleKeyDown = (event) => {
        if (event.altKey && event.key === 'b') {
          // 在这里执行要触发的逻辑
          console.log('Alt + B is pressed!')
        }
      }

      // 添加键盘事件监听
      document.addEventListener('keydown', handleKeyDown)

      // 在组件卸载时移除事件监听
      // 考虑到你想要的是在页面卸载前移除事件监听,因此这里使用了`beforeUnmount`
      // 如果你希望在页面卸载后再移除事件监听,可以使用`onUnmounted`
      beforeUnmount(() => {
        document.removeEventListener('keydown', handleKeyDown)
      })
    })
  }
</script>

在setup函数中,我们使用onMounted钩子函数来添加事件监听。在页面挂载后,会执行handleKeyDown函数来判断是否按下了Alt + B键组合。你可以在handleKeyDown函数中执行你的自定义逻辑。
同时,在组件卸载前,使用beforeUnmount钩子函数来移除事件监听,以防止内存泄漏。

相关推荐
不可能片场几秒前
内容运营自动化 配图折行别把词切两半
前端·electron
Lank_M15 分钟前
HEIC转JPG统一转sRGB,P3高饱和色就回不来了
前端
补码缩写16 分钟前
sharp默认转JPG颜色没错,ICC和EXIF却全没了
前端
用户77833661321116 分钟前
SerpBase AI Overview 引用卡片:React 组件实战
前端
林小帅17 分钟前
【笔记】Prisma v7 + SQLite TS2305 及连锁 TS7006 问题
前端·javascript·后端
ruanno_top18 分钟前
四个 canvas 组件,在 2 倍屏上一直是糊的
vue.js
Dumbness22 分钟前
订阅消息弹窗必须在用户点击里调:联调实验室里 timing 和 Mock 支付通知踩的坑
javascript·uni-app
HUANGZHENXUAN12327 分钟前
最大子矩阵和:从 O(n⁴) 到 O(n³) 的列压缩 + Kadane
c语言·前端
ruanno_top40 分钟前
一个脏数据能让整条折线消失:图表组件的四种数据契约
vue.js
黄连木笛41 分钟前
不改一行 Postman 源码,把它汉化了:Electron preload 注入 + fetch 拦截实战
javascript·electron