我正在开发一个 web 应用程序,它允许选择 html 文档的某些部分并在其上放置某种注释。
为了获得选定的文本,我使用了 window.getSelection()
,它在 IE9、FF 和 Safari 中工作得很好。
但是,在我的 iPad 2 上使用同一页面时遇到了麻烦:
- 如果我只是通过点击一个单词一秒钟来选择它,
window.getSelection()
会返回正确的选择。 - 如果我创建一个文本范围(如此处描述的 http://blog.laptopmag.com/how-to-select-copy-and-paste-text-on-the-ipad )总是返回“null”。 我已经检查了窗口、文档和相关的事件对象 - 但没有成功...
非常感谢任何帮助!
编辑:只是一个小例子。选择一个文本并按下按钮。在 Safari (PC) 上,该函数打印所选值...
<html>
<body>
<script>
function a()
{
alert(window.getSelection());
}
</script>
Hello World! <input type="button" onclick="a();"
</body>
</html>
最佳答案
好吧,我终于解决了这个问题:Tim 假设点击事件导致选择折叠。我认为这是相当奇怪的行为,因为在常规 Safari 上不会发生这种情况。
但是,解决方案是不使用点击事件。我没有使用 jquery mobile 提供的“vlick”。
完整的工作示例:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
</head>
<body>
Hello World! <input type="button" id="button1" />
<script>
function a()
{
alert(window.getSelection());
}
$("#button1").bind("vclick",a);
</script>
</body>
</html>
关于javascript - 使用 Javascript 在 iPad 2 上获取选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8986216/