首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用xterm.js中的触摸滚动

问禁用xterm.js中的触摸滚动
EN

Stack Overflow用户
提问于 2017-09-27 17:17:04
回答 1查看 897关注 0票数 1

如何通过触摸xterm.js禁用滚动?

我在term.element上有一个touchmove事件,它通过滑动适当的方向来模拟光标键。这在使用“备用屏幕缓冲区”的应用程序(如午夜指挥官)中非常有用,但在具有回滚(例如lynx或bash )的默认屏幕缓冲区中,除了发送箭头键的ansi代码外,它还滚动终端(通常是这样)。

我需要重写这种行为,这样滚动就不会在你滑动时发生,而不会通过其他方式阻止滚动,比如鼠标轮或滚动条,或者干扰其他鼠标事件(可能还会影响到事件)。

在事件中尝试了preventDefault(),甚至尝试将它附加到终端parentNode及其parentNode中的各种元素。同样的行为。也尝试过的位置:绝对和底部: 0px,但是xterm.js模拟终端的方式可以得到更好的结果。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 23:41:01

好的。解决方案是:在touchmove事件的处理程序顶部添加event.stopPropagation()。将其附加到终端元素(即term.element)。忘记覆盖,指针事件:没有,等等,工作完美。没有多余的垃圾。我离开event.preventDefault()还有另一个原因,但我认为只有stopPropagation才能解决这个特殊的问题。

我想补充一句,如果您只想禁用终端上的触摸滚动,您所需要的就是:

term.addEventListener('touchmove',函数(E){e.stopPropagation()})

假设你的终端对象的名字是“术语”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46453714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档