我的表单上有一些input [type =“ text”]文本框,有时这些框不够宽,无法输入要输入的内容.
当前,如果用户键入更多适合的文本(但小于maxlength),则文本框将按预期滚动.当他们跳出文本框时,文本框将保持滚动到其键入内容的“结尾”.
我试图找到一种方法,当用户跳出字段时将文本框重置为开始.
我看了这里的建议:
…但是它在onblur事件中不起作用,因为该解决方案实际上使文本框再次短暂获得焦点,然后再次模糊,这将导致无限循环.
在我放弃之前,在onblur事件中,没有人有任何解决方案将光标重置为文本框的开头吗?
解决方法:
在Internet Explorer中,您可以设置scrollLeft属性.这在Firefox中不起作用,但是如果您将值重置为其自身,则它将滚动回到开头.显然,这两种方法都可以在Chrome中使用.我目前没有任何其他浏览器可以测试.
$("input[type=text]").blur(function() {
this.value = this.value; // Firefox
this.scrollLeft = 0; // Internet Explorer
});
我使用jQuery是因为这是我惯用的方法,但是您可以将其适应于用于事件的任何框架/方法.
标签:html,javascript
来源: https://codeday.me/bug/20191107/2004244.html