vueUse库Sensors模块各函数简介及使用方法---上篇

vueUse库是一个专门为Vue打造的工具库,提供了丰富的功能,包括监听页面元素的各种行为以及调用浏览器提供的各种能力等。其中的Browser模块包含了一些实用的函数,以下是这些函数的简介和使用方法:

vueUse库Sensors模块各函数简介及使用方法

  • vueUse
    • Sensors
      • 函数
      • 1. `onClickOutside`
      • 简介
      • 使用方法
      • 2. `onKeyStroke`
      • 简介
      • 使用方法
      • 3.`onLongPress`
      • 简介
      • 使用方法
      • 4.`onStartTyping`
      • 5.`useBattery`
      • 简介
      • 使用方法
      • 6.`useDeviceMotion`
      • 简介
      • 使用方法
      • 7.`useDeviceOrientation`
      • 简介
      • 使用方法
      • 8.`useDevicePixelRatio`
      • 设备像素比简介
      • 使用方法
      • 9.`useDevicesList`
      • 使用 `navigator.mediaDevices.enumerateDevices()` 获取设备列表
      • 与 VueUse 结合(如果 VueUse 提供了相关功能)
      • 10.`useDisplayMedia`
      • 11.`useElementByPoint`
      • 示例
      • 注意事项
      • 12.`useElementHover`
      • 简介
      • 假设的使用方法
      • 13.`useFocus`
      • 简介
      • 使用方法
      • 14.`useFocusWithin`
      • 简介
      • 使用方法

vueUse

Sensors

函数

1. onClickOutside

onClickOutside简介及使用方法

vue-use 库中的 onClickOutside 函数是一个用于监听元素外部点击事件的工具函数。当用户在指定元素之外点击时,它会触发一个回调函数。这通常用于实现如模态框、下拉菜单等组件的关闭功能,当用户点击组件外部时,这些组件会被关闭。

简介

  • 功能:监听元素外部点击事件。
  • 应用场景:模态框、下拉菜单等需要监听外部点击来关闭的组件。

使用方法

  1. 安装

你可以通过 npm 或 yarn 来安装 vue-use 库。注意,虽然有的示例中提到 @vueuse/click-outside,但通常 onClickOutside 函数是直接包含在 @vueuse/core 中的。

npm install @vueuse/core --save
# 或者
yarn add @vueuse/core
  1. 引入

在你需要使用 onClickOutside 的组件中,引入 vue-use 库和 ref 函数(如果你打算在模板中绑定 ref)。

import {
    onClickOutside } from '@vueuse/core'
import {
    ref } from 'vue'
  1. 使用

首先,在模板中为你想要监听外部点击的元素添加一个 ref。

<template>
  <div ref="target">点击这里以外的地方会触发回调</div>
</template>

然后,在 <script> 部分,使用 ref 函数来创建一个响应式引用,并将其绑定到模板中的元素上。接着,使用 onClickOutside 函数来注册点击事件监听器。

<script>
import {
    onClickOutside } from '@vueuse/core'
import {
    ref } from 'vue'

export default {
   
  setup() {
   
    const target = ref(null)

    onClickOutside(target, () => {
   
      // 当用户在 target 元素之外点击时,这里的代码将被执行
      console.log('用户点击了 target 元素之外的地方')
      // 在这里可以执行关闭模态框、下拉菜单等操作
    })

    return {
    target }
  }
}
</script>

这样,当用户在 target 元素之外点击时,就会触发 onClickOutside 函数的回调函数,并执行其中的代码。你可以根据需要在回调函数中执行任何操作,比如关闭模态框、下拉菜单等。

2. onKeyStroke

onKeyStroke简介及使用方法

vueUse库中的onKeyStroke函数(通常包含在@vueuse/core或类似的包中)用于监听键盘上的特定按键事件。这个函数允许你定义在特定按键被按下时应该执行的回调函数。

简介

  • 功能:监听键盘上的特定按键事件。
  • 应用场景:需要响应用户键盘输入的场景,如快捷键操作、游戏控制等。

使用方法

  1. 安装

使用npm或yarn安装@vueuse/core包。

npm install @vueuse/core --save
# 或者
yarn add @vueuse/core
  1. 引入

在你的Vue组件中,引入onKeyStroke函数。

import {
    onKeyStroke } from '@vueuse/core'
  1. 使用

onKeyStroke函数接受几个参数,包括要监听的按键(可以是一个字符、一个数组或一个正则表达式)、一个回调函数以及一个可选的配置对象。

以下是一个简单的示例,用于监听键盘上的"A"键(不区分大小写)被按下时执行的操作:

import {
    onKeyStroke } from '@vueuse/core'

export default {
   
  setup() {
   
    onKeyStroke(['A', 'a'], (event) => {
   
      console.log('Key A pressed', event)
      // 在这里执行你想要的操作
    }, {
   
      // 可选配置对象,用于指定其他选项,如要监听的目标元素(默认为document)
      // target: document.getElementById('myElement') // 如果需要监听特定元素上的按键事件
    })

    // ... 其他组件逻辑
  }
}

在这个示例中,当用户在页面上按下"A"键(不区分大小写)时,控制台将输出一条消息。你可以根据你的需求在回调函数中执行任何操作。

另外,onKeyStroke函数还支持监听多个按键的组合。例如,你可以传递一个包含多个字符的数组来同时监听多个按键。

请注意,onKeyStroke函数默认监听整个文档的按键事件。如果你需要监听特定元素上的按键事件,可以通过配置对象的target属性来指定要监听的目标元素。在上面的示例中,你可以取消注释target属性并指定一个DOM元素来监听该元素上的按键事件。

3.onLongPress

onLongPress简介及使用方法

vueUse库中的onLongPress函数(可能包含在@vueuse/sensors或其他相关子包中)用于监听元素上的长按事件。这通常用于实现长按触发特定功能的行为,如长按按钮后弹出菜单或触发特定动作。

简介

  • 功能</

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/603470.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能|推荐系统——工业界的推荐系统之重排

一、相似性的度量 基于物品属性标签 基于物品向量表征 ⽤召回的双塔模型学到的物品向量&#xff08;不好&#xff09; 基于内容的向量表征&#xff08;好&#xff09; 二、Maximal Marginal Relevance (MMR) 三、重排的规则 最多连续出现&#x1d458; 篇某种笔记 每&#x…

js如何控制一次只加载一张图片,加载完成后再加载下一张

公众号&#xff1a;程序员白特&#xff0c;欢迎一起交流学习~ 原文&#xff1a;https://juejin.cn/post/7340167256267391012 今天看到一个面试题&#xff0c;是关于img图片加载方面的&#xff0c;有必要记录一下。其实关于这个问题&#xff0c;只要知道图片什么时候加载完成就…

(自适应手机端)物流运输快递仓储网站模板 - 带三级栏目

(自适应手机端)物流运输快递仓储网站模板 - 带三级栏目PbootCMS内核开发的网站模板&#xff0c;该模板适用于物流运输网站、仓储货运网站等企业&#xff0c;当然其他行业也可以做&#xff0c;只需要把文字图片换成其他行业的即可&#xff1b;自适应手机端&#xff0c;同一个后台…

3D模型实时变形算法

最近&#xff0c;在尝试渲染一些奇怪的形状后&#xff0c;我陷入了计算机图形学的困境。事实证明&#xff0c;对于我试图解决的具体问题&#xff0c;没有现有的选项完全适合我想要做的事情。几周后&#xff0c;我终于带着一些答案再次浮出水面&#xff0c;写了很多行代码&#…

3.yolov5训练前的图片处理详解(python)

其实&#xff0c;yolov5模型可以分为深度网络、数据处理&#xff08;图片处理&#xff09;、损失函数、优化器选择、训练和预测及部分构成&#xff0c;相信大家对训练和预测的代码比较熟悉。前面两章我们根据代码和结构图了解了yolov5的深度网络&#xff0c;接下来看数据处理的…

Spring中FactoryBean的作用和实现原理

Spring中FactoryBean的作用和实现原理 BeanFactory与FactoryBean&#xff0c;相信很多刚翻看Spring源码的同学跟我一样很好奇这俩货怎么长得这么像&#xff0c;分别都是干啥用的。 BeanFactory是Spring中Bean工厂的顶层接口&#xff0c;也是我们常说的SpringIOC容器&#xff…

Android广播机制简介

文章目录 Android广播机制简介广播的基本概念广播的类型广播的使用场景Android广播的优缺点优点缺点 使用Android广播的一些最佳实践: Android广播机制简介 Android广播是一种轻量级的消息传递机制&#xff0c;用于应用程序之间或系统与应用程序之间进行通信。它类似于订阅-发…

ENG-2 AM,129423-53-6主要用于检测生物体系中的Na+浓度

引言&#xff1a;在化学研究的海洋中&#xff0c;优质的化学试剂是实验成功的关键。今天&#xff0c;我要为大家分享一款备受好评的化学试剂——ENG-2。这款试剂以其独特的性能和广泛的应用领域&#xff0c;赢得了众多科研人员的青睐。 中文名称&#xff1a;钠离子荧光探针ENG-…

[leetcode] 68. 文本左右对齐

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个单词数组 words 和一个长度 maxWidth &#xff0c;重新排版单词&#xff0c;使其成为每行恰好有 maxWidth 个字符&#xff0c;且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词&#xff…

运用远期交易防范外汇风险

随着全球化的深入&#xff0c;跨境贸易和投资愈加频繁&#xff0c;外汇风险成为各类企业和投资者必须面对的现实问题。汇率的波动可能导致交易和投资的成本大幅增加&#xff0c;甚至引发利润损失。在这种情况下&#xff0c;远期交易作为一种有效的外汇风险对冲工具&#xff0c;…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷1(私有云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…

源代码加密

代码加密&#xff0c;特别是源代码加密&#xff0c;是一种安全措施&#xff0c;旨在保护软件的源代码不被未授权访问或泄露。源代码是软件应用程序的原始编程文本&#xff0c;它包含了程序的逻辑、算法和设计思想。由于源代码包含了软件的核心知识&#xff0c;因此它具有极高的…

数智算网,链启未来 | 算力网络子链诚邀各方加入

4月28日&#xff0c;在中国移动算力网络大会期间&#xff0c;由中国移动集团主办&#xff0c;中国移动研究院和云能力中心联合承办的“数智算网&#xff0c;链启未来”共链行动算力网络专场会议成功召开。中国移动研究院副院长段晓东&#xff0c;中国移动集团首席专家、云能力中…

MySQL·内置函数

目录 函数 日期函数 案例1&#xff1a;创建一张表&#xff0c;记录生日 案例2&#xff1a;创建一个留言表 案例3&#xff1a;请查询在2分钟内发布的帖子 字符串函数 案例1&#xff1a; 获取emp表的ename列的字符集 案例2&#xff1a;要求显示exam_result表中的信息&am…

Vinted店铺总被封号?如何有效养号?

Vinted是一家欧洲知名的二手时尚交易平台&#xff0c;致力于连接买家和卖家&#xff0c;让他们能够在平台上买卖二手时尚商品。用户可以在Vinted上销售和购买服装、鞋子、配饰等各种时尚物品&#xff0c;无论是品牌商品还是非品牌商品&#xff0c;都可以在平台上找到。Vinted的…

idea修改maven项目名称及子模块名称

一、修改目录名称 shift F6修改目录&#xff0c;选择“rename module and dictionary”。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/43efd9c6af6e43ad9656455db94b37a2.png)二、修改子项目pom的 三、修改父项目pom的 四、刷新maven项目

JS笔试手撕题

数据劫持 Vue2的Object.defineProperty() Vue2的响应式是通过Object.defineProperty()拦截数据&#xff0c;将数据转换成getter/setter的形式&#xff0c;在访问数据的时候调用getter函数&#xff0c;在修改数据的时候调用setter函数。然后利用发布-订阅模式&#xff0c;在数…

Windows下启动Tomcat显示乱码解决办法

1、Windows下启动Tomcat显示乱码 2、解决办法 找到 D:\apache-tomcat-9.0.89\conf下的logging.properties&#xff0c;找到java.util.logging.ConsoleHandler.encoding的值改为GBK&#xff0c;就可以了 完美解决&#xff01;显示正常的中文了

网络安全之二层局域网封装及广域网封装详解

局域网封装&#xff1a;Ethernet2&#xff08;TCP/IP&#xff09;&#xff0c;IEEE802.3&#xff08;OSI&#xff09;&#xff08;前面文章中讲解了TCP、IP和OSI本文就不继续讲解&#xff1a;可以查看&#xff1a;网络安全之OSI七层模型详解-CSDN博客&#xff09; 广域网封装&…

『ZJUBCA Collaboration』WTF Academy 赞助支持

非常荣幸宣布&#xff0c;浙江大学区块链协会收到WTF Academy的赞助与支持&#xff0c;未来将共同开展更多深度合作。 WTF Academy是开发者的Web3开源大学&#xff0c;旨在通过开源教育让100,000名开发者进入到Web3。截止目前&#xff0c;WTF开源教程在GitHub收获超15,000 ⭐&a…
最新文章