首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在编辑元素上的/focus/tab/onblur时,IE11会将光标移动到输入文本的开头

在编辑元素上的/focus/tab/onblur时,IE11会将光标移动到输入文本的开头
EN

Stack Overflow用户
提问于 2018-10-10 00:13:53
回答 2查看 575关注 0票数 1

我使用的是带有预填充值的输入型文本框,当我单击输入框时,光标的位置会移动到开头,这在其他浏览器中是不会发生的(只有IE11才是问题所在)。这是非常烦人的,并且花了几个小时调试。事实上,在IE中调试是非常痛苦的。

请注意,我不想操作DOM,我们也不打算在应用程序中再使用Jquery。

我使用react Js作为UI框架。

如果有人在这方面给点提示,那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2020-09-30 00:45:49

您将需要:

  • 对同一输入元素

上的输入元素

  • onFocus事件处理程序的反应引用

获得这两个值后,需要将选择范围设置为与初始值相同的长度,如下所示:

代码语言:javascript
运行
复制
// either
const inputRef = useRef();
// or
const inputRef = React.createRef()

const onFocus = () => {
  inputRef.current.setSelectionRange(value, value);
}

<input ref={inputRef} value={value} onFocus={onFocus}/>

setSelectionRange(startRange, endRange) -传递给这两个值的长度相同会将光标推到值的末尾,而不会选择任何内容。

票数 0
EN

Stack Overflow用户

发布于 2018-10-10 15:01:59

尝试使用value属性来设置预填充值。代码如下:

代码语言:javascript
运行
复制
<input type="text" id="txtinput" value="default value" />

测试结果如下:

IE浏览器版本如下:

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52725271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档