android - D3 js对Android-Webview中的拖动事件没有反应
问题描述
我有一个包含 d3.js (v5) 图的 Android-webview。最近,该图表停止响应多个设备上的任何事件(拖动、单击、缩放)。我没有更新代码库,所以我猜它与 Android 更新有关?
我使用 chrome devtools 进行远程 Webview 调试,但我没有找到根本原因。我曾经monitorEvents
跟踪事件。并且缩放和拖动功能再次开始工作,直到我使用unmonitorEvents
.
任何想法,为什么这些事件会突然停止工作以及副作用是monitorEvents
什么?
谢谢你的帮助 :)
PS:网页在没有 webview 的情况下工作。
节点是可点击的,整个图形可以移动或放大和缩小。
EDIT2: 找到了第一个解决方案。
经过一番搜索,我发现了这个https://developers.google.com/web/updates/2016/10/pointer-events:鼠标和触摸动作的新事件。monitorEvents
正在addEventListener
为所有onpointer{something}
修复 d3 代码的人做事。
现在,我正在将转储侦听器添加到 root 。这看起来很丑陋。什么是正确的行动?
解决方案
推荐阅读
- javascript - 由于安全原因,无法在浏览器中获取文件的完整路径。该怎么办?
- javascript - 如何为无序列表中的每个元素添加一个复选框?
- python - 指数股票价格在开始日期返回 100
- ffmpeg - 视频 - 在流 #1 中找不到编解码器 wavpack 的标签,容器中当前不支持编解码器无法使用 FFmpeg 将文件 MKV 写入 MP4
- c# - 为 asp.net mvc 应用程序处理 Stream 对象的问题?
- matlab - 如何将 3d 矩阵拆分为子 2d 矩阵?
- javascript - 为什么我尝试向表中添加新行(使用 oa 表元素制作)不断出现和消失?
- google-apps-script - IMPORTRANGE 指的是带有链接的单元格,而不是链接本身。和范围使用单元格值而不是工作表名称
- strcpy - 嵌入式 C strcpy 仅复制前 10 个字节
- express - 快速车把不会呈现数据