更新记录

1.0.0(2025-02-11) 下载此版本

首次上传


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.91 app-vue app-uvue
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

u-pointer

介绍

消除 uni 中组件事件触发的各端异性, 统一事件处理, 减轻负担

u-pointer

事件

u-pointer事件名 uni事件名 描述
@onpointerclick @click|tap 在元素上按下并抬起触发
@onpointerdown @mousedown|@touchstart 在元素上按下触发
@onpointermove @mousemove|@touchmove 在元素上按下并移动时触发
@onpointerup @mouseup|touchend 在元素上按下并抬起时触发
@onpointercancel @touchcancel 在元素上动作被打断,如来电提醒,弹窗等
@onpointerwheel 鼠标滚轮

类型

事件名 类型
@onpointerclick (e: PointerclickEvent) => void
@onpointerdown (e: PointerdownEvent) => void
@onpointermove (e: PointermoveEvent) => void
@onpointerup (e: PointerupEvent) => void
@onpointercancel (e: PointercancelEvent) => void
@onpointerwheel (e: PointerwheelEvent) => void

使用方法

<template>
    <u-pointer
        @onpointerclick="pointerclick"
        @onpointerdown="pointerdown"
        @onpointermove="pointermove"
        @onpointerup="pointerup"
        @onpointerwheel="pointerwheel"
    >
        <view>Click Me</view>
    </u-pointer>
</template>

u-pointer-root

事件

此组件一般放在 根节点 下, 组件上无任何事件 但有一个 globalPointer 的全局指针监听器, 回调类型与 u-pointer 事件保持一致.

使用方法类似于 document.addEventListener, 只不过需要换成 globalPointer.addEventListener 来监听事件.

使用方法

u-pointer-root

<script lang="ts" setup>
import { onMounted, onUnmounted } from "vue";
import { PointerdownEvent, globalPointer } from "@/uni_modules/u-pointer";
function pointerdown(event: PointerdownEvent): void {
    console.log("pointerdown", event);
}

onMounted(() => {
    globalPointer.addEventListener("", pointerdown);
});

onUnmounted(() => {
    globalPointer.removeEventListener("", pointerdown);
});
</script>

<template>
    <u-pointer-root>
        <view>Click Me</view>
    </u-pointer-root>
</template>

注意事项

  1. @onpointerclick 事件在按下后 移动指针按下超过 300ms 不会触发.
  2. @onpointerup 事件触发后会立即触发 @onpointerclick . 此处是已知问题, 但不会影响使用, 只是触发队列不一致, 后面反馈的人多了或有空的话会补上.

TODO

  1. [ ] @onpointerdbclick 双击事件
  2. [ ] @onpointerlongclick 长按事件
  3. [ ] stopPropagation 阻止当前事件的进一步传播
  4. [ ] preventDefault 阻止当前事件的默认行为

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问