在Chrome中,当文本包含换行的长字符串时,我无法使用Chrome中的键盘来选择可编辑内容的文本上下文。

这个repro在Chrome中(最新的版本;在我撰写本文时为Chrome 47)。

复制步骤

  • 单击以将光标放置在contentedtable div的末尾(在下面的代码段中)。
  • 按住shift键并按几次向上箭头。

  • 预期的:选中所有文本。

    观察到的:永远不会选择空格(“foo”)之前的文本。

    这是代码。注意“foo”后面的字符是一个空格,而不是换行符!

    <div contenteditable="true" style="background: #ddd; width: 200px; height: 100px;">foo asdfjkl;asdfjkl;asdfjkl;asdfjkl;asdfjkl;asdfjkl;asdfjkl;</div>

    最佳答案

    实际上,这通常是文本框的正确行为。

    在这种情况下,您会看到两个单词在不同的行中,因为第二个单词比容器宽,因此您看到一个换行符,然后尝试使用up arrow选择“foo”。

    但是,正如您在问题中所说的那样,在“foo”之后有一个空格字符,因此您必须使用left arrow来选择它。

    试想一下相同的情况,但是在文本框为全宽的情况下,您只会尝试使用left arrow。此处仅样式更改,而不更改该特定内容的行为。

    关于html - 无法使用键盘在Chrome可编辑的内容中选择文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34366899/

    10-12 12:27
    查看更多