收藏
回答

touchcancel事件触发不了

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug bindtouchcancel 客户端 6.7.3 2.4.0

- 当前 Bug 的表现(可附上截图)


一个按钮同时绑定了touchcancel和touchstart事件,touchstart里面获取录音授权出现授权弹窗,触发不了touchcancel事件


- 预期表现


授权过后再提示用户重新开始操作


- 复现路径


- 提供一个最简复现 Demo

先清除语音授权再操作

<button type="default" bindtouchcancel='touchCancel' bindtouchstart='touchStart'>


var hasError = false;


touchStart: function() {

    wx.authorize({

      scope: 'scope.record',

      success: function() {

            if(hasError){

                console.log('ok');

            }else{

                console.log('err')

            }

      },

    })

  },

  touchCancel: function(){//这里执行不到

    hasError = true;

    console.log('touch cancel')

  },


回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2018-11-08

    之前做混合开发的时候碰到过,部分安卓机对于touch事件和授权弹窗的不兼容。。当然不排除这里可能只是小程序自己的bug~

    建议进页面的时候,先getSetting看看有没有录音权限。没有的话,放个授权按钮(弄得和你的录音按钮一样),授权之后再替换成录音按钮。

    2018-11-08
    有用 1
    回复 3
    • 冰鹰🇨🇳
      冰鹰🇨🇳
      2018-11-08

      目前这也是个办法,已实现目的,谢谢了,直接根据授权状态绑定不同方法

      2018-11-08
      回复
    • 踹飞凹凸曼的怪兽🇨🇳
      踹飞凹凸曼的怪兽🇨🇳
      2021-08-13回复冰鹰🇨🇳
      想问下,您是怎么解决的,我也遇到同样的问题
      2021-08-13
      回复
    • Monster🐾
      Monster🐾
      2021-08-21回复冰鹰🇨🇳
      想问下你是怎么判断授权状态的
      2021-08-21
      回复
登录 后发表内容