2

HTMLドキュメントの一部を選択して、何らかの注釈を付けることができるWebアプリケーションを開発しています。私が使用する選択したテキストを取得するには window.getSelection()、IE9、FF、および Safari で非常にうまく機能します。ただし、iPad 2 で同じページを使用すると問題が発生します。

  • 単語を1秒間タップして選択すると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>
4

1 に答える 1

2

さて、ついに私は問題を解決しました:ティムがクリックイベントが選択を崩壊させると仮定したので。私はこれを通常のSafariでは起こらないのでかなり奇妙な振る舞いと考えています。

ただし、解決策はクリックイベントを使用しないことです。代わりに、jquerymobileが提供する「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> 
于 2012-01-26T18:58:16.623 に答える