Сохранить выбор в текстовой области - PullRequest
1 голос
/ 24 октября 2010

Можно ли предотвратить потерю выделения в событии "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>

Спасибо /

Ответы [ 3 ]

5 голосов
/ 24 октября 2010

Не думаю, что это хорошая идея.Пользователь с мышью в руке может щелкнуть в любом месте страницы.Если вы вернете его обратно в textarea, он не будет следовать принципам веб-доступности .

4 голосов
/ 24 октября 2010

Возможно, вы имеете в виду, что хотите запомнить выделение, даже если пользователь фокусируется на другом элементе, так что если он вернется к текстовой области, тот же текст все равно будет выделен. Это тот случай?

Если это так, я думаю, что проще всего было бы поместить текстовую область в iframe в том же домене. Каждый документ поддерживает свой собственный контекст выбора. Конечно, вам нужно прочитать данные из текстовой области и, вероятно, скопировать их в скрытое поле в вашей форме, так как вы не можете иметь поля в форме в другом документе, поэтому вам нужно создать своего рода прокси .

2 голосов
/ 24 октября 2010
           textarea.onblur = function () {
                alert ("Should keep selection");
                textarea.focus();

                return false;
            }
...