uni-app ios14.7存在点击事件需要多次点击才生效的bug

uni-app ios14.7存在点击事件需要多次点击才生效的bug

示例代码:

ios14.7存在点击事件需要多次点击才生效的bug

操作步骤:

ios14.7存在点击事件需要多次点击才生效的bug

预期结果:

ios14.7存在点击事件需要多次点击才生效的bug

实际结果:

ios14.7存在点击事件需要多次点击才生效的bug

bug描述:

ios14.7存在点击事件需要多次点击才生效的bug

2 回复

uniapp项目测试过吗?mui框架已经停止维护了

更多关于uni-app ios14.7存在点击事件需要多次点击才生效的bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题在iOS 14.7上确实存在,主要是由于系统WebView的点击延迟机制导致的。uni-app底层基于WebView渲染,因此会受此影响。

主要原因: iOS 14.7对非可点击元素(如div)的点击事件增加了300ms延迟检测,用于区分单击和双击操作。

解决方案:

  1. 使用[@tap](/user/tap)代替@click uni-app的[@tap](/user/tap)事件已经做了优化处理:

    <view [@tap](/user/tap)="handleClick">点击区域</view>
    
  2. 添加CSS样式提高响应性

    .click-area {
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      user-select: none;
    }
    
  3. 对于滚动区域内的点击 如果点击区域在可滚动容器内,建议:

    <scroll-view>
      <view [@tap](/user/tap)="handleClick" class="click-item">项目</view>
    </scroll-view>
    
  4. 检查事件冒泡 确保没有事件阻止冒泡导致的问题:

    handleClick(e) {
      // 不要在这里使用e.stopPropagation()除非必要
    }
回到顶部