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

时间:2011-07-19 13:20:54

标签: javascript

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

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

    以下是Android 3.0浏览器中相同功能的示例: enter image description here

    我需要使用Javascript创建相同的功能。我试着用searhc" javascript文本选择"但无法找到任何有用的东西。 有人可以建议我如何执行此操作或将我指向任何现有工作吗?非常感谢。

1 个答案:

答案 0 :(得分:2)

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

  • 你需要有缩放/跟随手指功能,将复杂的heurestics应用到光标实际到达的位置

  • 在仲裁HTML文本中移动标记很麻烦 - 您需要有办法将HTML拆分为较小的部分

因此,我建议你

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

  • 发布这个免费的赏金工作< - 一个建议

从技术角度来看

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

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

  • 较旧的Android设备首先缺少针对复杂触摸交互的正确Javascript事件