【发布时间】:2017-09-27 17:17:04
【问题描述】:
如何禁用 xterm.js 上的触摸滚动?
我在 term.element 上有一个 touchmove 事件,它通过滑动适当的方向来模拟光标键。这在使用“备用屏幕缓冲区”的应用程序(例如 Midnight Commander)中非常有用,但在具有回滚功能的默认屏幕缓冲区(例如 lynx 或 bash)中,它除了滚动终端(通常会滚动)之外发送方向键的 ansi 代码。
我需要覆盖此行为,以便在您滑动时不会发生滚动,同时不会阻止通过鼠标滚轮或滚动条等其他方式滚动,或干扰其他鼠标事件(可能还有触摸事件)。
在事件上尝试了 preventDefault(),甚至尝试将其附加到终端、parentNode 及其 parentNode 中的各种元素。相同的行为。还尝试了 position: absolute with bottom: 0px,但是 xterm.js 模拟终端的方式会导致结果异常。
有什么想法吗?
【问题讨论】:
-
尝试使用附加了 touchmove 的覆盖 div。这解决了滚动问题,但阻止了其他事件。是否可以捕获覆盖层上的触摸移动,同时允许其他事件通过?
标签: xtermjs