西柚d(ŐдŐ๑)丶 2021-07-16 18:52 采纳率: 0%
浏览 87

H5plus 做APP时,img,a标签长按会发生震动(android) ,怎么禁止其震动?

在用html5+ 在开发APP时,发现img,a标签在长按时都会发生手机震动。
尽管我删除了以下权限: "uses-permission android:name="android.permission.VIBRATE"(手机震动权限),还是会出现长按就会震动的问题。



假如我设置img,a的css:

img,a{
    pointer-events: none;
  }

这样确实长按不会震动的,但是事件触发不了了




有什么办法可以禁止其震动,又能点击触发事件且长按事件也不影响?

  • 写回答

1条回答 默认 最新

  • 前端码趣逗士 2022-12-21 17:09
    关注

    如果你使用的是 H5plus 开发的 app,可以通过在 img 或 a 标签中添加 ontouchstart 和 ontouchend 事件来禁止震动。

    具体实现方法如下:

    在 img 或 a 标签中添加 ontouchstart 事件,并在事件处理函数中调用 plus.device.vibrate 方法。

    <img ontouchstart="vibrate()" src="image.png" alt="image">
    
    function vibrate() {
      plus.device.vibrate(0);
    }
    

    在 img 或 a 标签中添加 ontouchend 事件,并在事件处理函数中调用 plus.device.cancelVibration 方法。

    <img ontouchstart="vibrate()" ontouchend="cancelVibration()" src="image.png" alt="image">
    
    function cancelVibration() {
      plus.device.cancelVibration();
    }
    

    这样,在用户长按 img 或 a 标签时,就不会发生震动了。

    注意:需要在 app 启动时初始化 H5plus,才能使用 plus.device 对象中的方法。

    document.addEventListener('plusready', function() {
      // 初始化 H5plus
    });
    
    评论

报告相同问题?

问题事件

  • 修改了问题 7月16日
  • 创建了问题 7月16日