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

我不认为这是个好主意。手中有鼠标的用户可以点击页面上的任意位置。如果你让他回到 textarea,它就不会遵循web 可访问性的原则。

于 2010-10-24T12:36:33.533 回答
4

也许你的意思是你想记住选择,即使用户关注另一个元素,这样如果他们回到文本区域,仍然会选择相同的文本。是这样吗?

如果是这样,我认为最简单的方法是将 textarea 放在同一域中的 iframe 中。每个文档都维护自己的选择上下文。当然,您需要从 textarea 读取数据,并可能将其复制到表单中的隐藏字段,因为您不能在另一个文档中的表单中包含字段,因此您需要制作一种代理.

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

                return false;
            }
于 2010-10-24T12:42:55.880 回答