touchcancel事件触发不了
发布于 6 年前 作者 pshi 19228 次浏览 来自 问答
  • 当前 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 回复

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

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

回到顶部