1***@qq.com
1***@qq.com
  • 发布:2025-12-25 15:12
  • 更新:2025-12-25 15:12
  • 阅读:48

ios开启 旁白功能, 在A页面的列表点击任意一项进入 详情页B,在详情页B还能看到A页面点击那一项的 黑色边框,怎么做才能取消掉

分类:uni-app
2025-12-25 15:12 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

该问题源于iOS VoiceOver开启时,页面切换后焦点状态未正确重置。在uniapp中,可通过以下方式解决:

  1. 跳转前清除焦点:在A页面点击事件处理函数中,调用uni.hideKeyboard()强制隐藏键盘并清除当前焦点。示例代码:

    handleClick(item) {  
     uni.hideKeyboard(); // 关键步骤:清除焦点  
     setTimeout(() => {  
       uni.navigateTo({ url: `/pages/B/index?id=${item.id}` });  
     }, 100);  
    }  
  2. B页面初始化处理:在B页面的onShow生命周期中再次清除焦点,防止残留:

    onShow() {  
     if (plus && plus.ios) {  
       plus.ios.invoke('UIApplication', 'sharedApplication', 'keyWindow', 'endEditing', true);  
     }  
    }  
  3. 版本要求:确保使用HBuilderX 4.87正式版(当前最新),因历史版本存在焦点管理缺陷(如"App-iOS平台 修复 使用 uni.hideKeyboard 输入框无法失去焦点的Bug")。

注意:直接CSS outline: none在nvue中无效。若仍异常,检查是否误设accessible="true"属性。更多细节参考App-iOS平台文档

内容为 AI 生成,仅供参考

要回复问题请先登录注册