HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件
HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件
机型:HUAWEI Pure70
操作系统: HarmonyOS 5.0.0.135
我在实现一个语音输入转文字的功能,页面交互由 Web 组件实现,语音转文字由应用实现,实现流程如下:
-
Web 组件实现一个聊天框页面,页面内有一个按钮,长按可以录入语音
-
当按钮按下时,会与应用通信,由应用开启麦克风接受语音,并将转换的文字回传给 Web组件
问题:
当按钮按下时,应用触发麦克风收音,如果应用没有麦克风权限,会弹出系统弹窗,提示用户授权。当此弹窗弹出时,我的 Web组件内的按钮元素上绑定的touchcencel事件和blur事件均为触发,导致我无法重置按钮的状态!
我的 Web组件是使用 React构建的,我通过React的合成事件,以及直接将事件绑定在 document上均不生效!
更多关于HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
您好,为了更快速解决您的问题,并且吸引更多用户一同参与您问题的解答与讨论,建议您补全如下信息:
- 补全复现代码,让参与用户更快速复现您的问题;
- 更多提问技巧,请参考:【Tips】如何提个好问题
更多关于HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,当ArkWeb加载的H5页面中的按钮长按时,如果被系统弹窗打断,确实可能无法正常接收touchcancel
或blur
事件。这是由于系统弹窗优先处理了事件,导致H5页面的事件流被中断。建议在开发时,通过监听visibilitychange
事件或focus
事件来检测页面是否被中断,并在事件处理中手动触发相应的逻辑,以确保用户体验的连贯性。