在Chrome中,当文本包含换行的长字符串时,我无法使用Chrome中的键盘来选择可编辑内容的文本上下文。
这个repro在Chrome中(最新的版本;在我撰写本文时为Chrome 47)。
复制步骤
预期的:选中所有文本。
观察到的:永远不会选择空格(“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/