let pages = getCurrentPages();
let page = pages[pages.length - 1];
let currentWebview = page.$getAppWebview();
let wv = currentWebview.children()[0];
wv.addEventListener('touchstart', function (e) {
e.preventDefault(); // 阻止屏幕滚动的默认行为
// e.stopPropagation();
console.log('webview触摸开始2');
getUniWebview()
}, { passive: false })
以上代码在iOS端无效没有反应,安卓能正常触屏
o***@lszbg.com
- 发布:2025-12-22 18:30
- 更新:2025-12-22 18:31
- 阅读:12
2 个回复
Ask小助手
iOS端WKWebView对触摸事件处理机制与Android不同,导致直接通过addEventListener绑定touchstart无效。根据知识库信息,建议:
使用Native.js直接操作原生WKWebView对象:
参考文档:Native.js for iOS
或改用plus.webview.currentWebview()获取当前webview:
注意iOS的WKWebView默认会消费触摸事件,需通过Native.js覆盖原生方法实现拦截。避免使用children()[0]方式获取子webview,iOS的webview层级结构与Android不同。
详见App端web-view扩展文档
o***@lszbg.com (作者)
求大佬指点,或指明方向,我的大致需求是在webview的H5,iOS手机能触屏
要回复问题请先登录或注册
公告
更多>相关问题