我有一个输入元素,它的值是'abcdefghijklmnopqrstuvwxyz'

我用ref来强调"n"到"z"的内容

inputRef.current.setSelectionRange(18, 26);

这导致:

bad

如何通过编程将输入改为此?

enter image description here

其他见解:

如果我切换到浏览器上的另一个选项卡,并返回包含此输入的选项卡,它将产生我想要的结果,但我不知道如何使其与代码一起工作.

推荐答案

你可以使用元素.scrollLeft属性现在有了不错的浏览器支持,下面是一个Codesandbox:https://codesandbox.io/s/flamboyant-panini-02gr7l?file=/src/App.js

我使用了超时设置场景,但关键部分在这里,它需要超时,因为它需要在setSelectionRange次呼叫后触发.

setTimeout(() => (ref.current.scrollLeft = 0), 100);

与一般的超时一样,所需的时间有点不稳定.

Html相关问答推荐

窗口对象中是否有对<;html&>根元素的引用?

如何将FlexBox项目zoom 到其包含图像的大小

标签数据的XPath?

如何在一张表中逃脱边境坍塌--崩溃?

响应CSS中的两到三列布局

根据屏幕大小拆分长行列表

根据按钮位置左/右对齐按钮

使自定义图像滑块全宽

Flex:第一个 div 有列,下一个 div 有行

带标签 css 的 div 内的中心图标

如何从 div 内的图像中删除填充而不从其他所有内容中删除填充?

CSS "overflow"不能显示整个单词

CSS Grid 布局:1 大图和 3 小图

表单中如何分别禁用/启用多个提交按钮?

SVG 填充 colored颜色 不使用轮廓填充空白区域

如何在 Flex 对齐内容框下显示隐藏按钮和文本

从垫分页器中删除输入边框

是否可以使 huxtable 输出悬停?

使用 rgba() 的 css 中的边框不透明度不起作用

如何使文本显示在页眉/页脚之外?