使用JavaScript创建"文本选择"功能(如触摸屏浏览器中所示)

cor*_*OLO 5 javascript

我需要在javascript中创建以下功能:

  1. 用户应该能够进入文本选择模式(通过长按一个单词或单击一个专用按钮,用户进入文本选择模式的方式并不重要)
  2. 一旦进入文本选择模式,选择开始结束将出现两个句柄,这将允许用户扩展选择(用户将能够拖动句柄图像以扩展选择)
  3. 所选文本将以突出显示模式显示

以下是Android 3.0浏览器中相同功能的示例: 在此输入图像描述

我需要使用Javascript创建相同的功能.我试图搜索"javascript文本选择",但无法找到任何有用的东西.有人可以建议我如何做到这一点或指向我任何现有的工作?非常感谢.

Mik*_*maa 2

您所说的是一个非常广泛的用户界面问题,您无法用几行 Javascript 代码来解决它。我非常了解现有的移动 Javascript 库,但我还没有遇到产品化的解决方案,因为这个问题实际上非常困难。

  • 您需要具有缩放/跟随手指功能,该功能将复杂的启发式应用到光标实际应该去的位置

  • 在任意 HTML 文本中移动标记很麻烦 - 您需要有一种方法将 HTML 分割成更小的部分

因此,我建议你要么

  • 编写一个跨平台的人造文本选择库(这不是一个编程问题,而是一个非常非常了解 HTML5 和移动设备的人的日常工作)

  • 发布此自由职业者赏金工作 <-- 一个建议

从技术角度你

  • 可以禁用设备的本机文本选择(-webkit-特殊CSS样式)

  • 可能无法通过移动设备上的 Javascript 与本机剪贴板交互

  • 较旧的 Android 设备首先缺乏用于复杂触摸交互的适当 Javascript 事件