【问题标题】:Get selected text on IPad 2 with Javascript使用 Javascript 在 iPad 2 上获取选定的文本
【发布时间】:2012-01-27 02:58:16
【问题描述】:

我正在开发一个 web 应用程序,它允许选择 html 文档的一部分并在其上添加某种注释。 为了获取选定的文本,我使用window.getSelection(),它在 IE9、FF 和 Safari 中运行良好。 但是,在我的 iPad 2 上使用同一页面时遇到了麻烦:

任何帮助将不胜感激!

编辑:只是一个小例子。选择文本并按下按钮。在 Safari (PC) 上,该函数会打印所选值...

<html>
    <body>
        <script>
            function a() 
            {
                alert(window.getSelection());
            }
        </script>
        Hello World! <input type="button" onclick="a();"
    </body>
</html>

【问题讨论】:

  • 你确定吗? window.getSelection() 适用于我在 iPhone 上的任何选择。
  • 我添加了一个小例子。不幸的是,我很确定 ;-)
  • 啊哈,我想它可能是这样的。我怀疑在按钮上触发click 事件时,选择已经丢失。尝试改用touchstart 事件。可能将style="-webkit-user-select: none" 添加到按钮可能会起作用,但我不确定。

标签: javascript ipad-2 textselection


【解决方案1】:

好吧,我终于解决了这个问题:正如蒂姆假设点击事件导致选择崩溃。我认为这是相当奇怪的行为,因为在常规 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> 

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 2015-05-28
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    相关资源
    最近更新 更多