1

「onblur」イベントで選択が失われるのを防ぐことはできますか?

<!DOCTYPE html>

<html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en">
    <head>
        <meta http-equiv = "Content-Type" content = "text/html; charset=utf-8">

        <script type = "text/javascript">
            window.onload = function () {
                var textarea = document.getElementsByTagName ("textarea")[0];

                textarea.onblur = function () {
                    alert ("Should keep selection");

                    return false;
                }
            }
        </script>

        <title>Select me !</title>
    </head>

    <body>
        <textarea>Select me !</textarea>
    </body>
</html>

ありがとう/

4

3 に答える 3

4

それは良い考えだとは思いません。手にマウスを持っているユーザーは、ページのどこでもクリックできます。彼をテキストエリアに戻すと、 Web アクセシビリティの原則に従っていません。

于 2010-10-24T12:36:33.533 に答える
4

ユーザーが別の要素に注目している場合でも、選択内容を記憶して、テキストエリアに戻っても同じテキストが選択されるようにしたいということかもしれません。これは事実ですか?

もしそうなら、テキストエリアを同じドメインのiframeに入れるのが最も簡単だと思います。各ドキュメントは、独自の選択コンテ​​キストを維持します。もちろん、テキストエリアからデータを読み取り、おそらくそれをフォームの非表示フィールドにコピーする必要があります。別のドキュメントのフォームにフィールドを持つことはできないため、一種のプロキシを作成する必要があります。 .

于 2010-10-24T12:40:16.873 に答える
2
           textarea.onblur = function () {
                alert ("Should keep selection");
                textarea.focus();

                return false;
            }
于 2010-10-24T12:42:55.880 に答える