我的表单上有一些inputtype=“文本”文本框,对于键入的内容来说,它们有时不够宽。
目前,如果用户键入更多适合的文本(但小于maxlength),文本框就会像您预期的那样滚动。当他们用Tab键离开文本框时,文本框会一直滚动到他们输入的内容的“结尾”。
我正在尝试找到一种方法,当用户跳出字段时,将文本框重置到开头。
我看了这里的建议:
Set keyboard caret position in html textbox
...but它在onblur事件中不起作用,因为解决方案实际上会导致文本框再次短暂地获得焦点,然后再次模糊,这会导致无限循环。
在我放弃之前,有没有人有办法在onblur事件中将光标重置到文本框的开头?
发布于 2009-03-17 18:24:35
在Internet Explorer中,可以设置scrollLeft属性。这在Firefox中不起作用,但如果你将值重置为自身,它将回滚到开头。显然,这两种方法都适用于Chrome。目前我没有任何其他浏览器可供测试。
$("input[type=text]").blur(function() {
this.value = this.value; // Firefox
this.scrollLeft = 0; // Internet Explorer
});
我使用jQuery是因为这是我所习惯的,但是您可以调整它以适应您用于事件的任何框架/方法。
https://stackoverflow.com/questions/654879
复制相似问题