javascript - 用dragstart、move、dragend 或其他鼠标移动事件替换文本选择事件

标签 javascript dom-events

我们的客户需要能够使用支持触摸的 Surface 平板电脑通过远程桌面访问的浏览器来访问我们的 Intranet 应用程序。不幸的是,他们远程连接的操作系统是 Windows 2008 Server R2,它没有内置有意义的触摸支持。当您触摸屏幕时,您的手指似乎就像左键单击和指针移动一样,这会导致在浏览器上选择的文本中,而不是执行大多数人期望的拖动/滚动操作(并且与我们用来访问系统的所有其他“触摸客户端”组合完美配合)。因此,他们滚动屏幕的唯一方式是使用滚动条,这在触摸设备上感觉不直观。

  1. 是否有一种方法可以将此文本选择事件(或一系列事件)转换为其他鼠标事件来处理事件?我想我们应该从 e.preventDefault 开始,但我不知道从那里开始。我们不需要支持所有默认的触摸事件;我们真正需要的是垂直滚动。
  2. 是否有其他解决方案可以让“指针”拖动文档正文?

最佳答案

可以尝试混合或两种方法之一:

a) 在文本 block 上设置pointer-events: none,让它们忽略鼠标事件(并有效地将它们传递到后面的内容)。

b) 设置user-select: none 以禁用文本选择。

关于javascript - 用dragstart、move、dragend 或其他鼠标移动事件替换文本选择事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20847982/

相关文章:

javascript - Asp.Net Repeater - 通过 Javascript 调用 ItemCommand 事件

javascript - 为什么在对象方法中没有使用 var 声明的变量不会成为全局变量?

javascript - 如何处理来自其他网站的 "semi-image"URL ("images"的放置事件)

javascript - 在 JavaScript 中安全地使用钩子(Hook)事件

javascript - 如何检查 undefined variable javascript?

javascript - 如何在 Cypress 中测试 Slate JS 行为

javascript - 浏览器 - SVG 渲染完成事件

javascript - 街景 API 回调的 JS 闭包

javascript - Firefox onchange 不调用函数

javascript - 如何通过 Jest 测试 Vue 组件的计算 Prop setter