将插入符号位置保持在文本输入中的可见位置 - Firefox 行为不当
我正在考虑我的文本输入框的想法,即单击包含一系列“标签”的 div 来添加元内容。 我的文本输入宽度为 35,但我希望它能够溢出。
我已经搜索并找到了将插入符号集中和定位在更新的输入内容末尾的方法,并且 chrome 和 IE 会表现出自己的行为并自动滚动以在输入框的可见区域中显示光标,但是当文本输入时完整和溢出 Firefox 3.0.7 会将正确定位的插入符号留在右侧的视图之外(尽管如果按键盘上的向右箭头,您可以在不影响位置的情况下到达它)。
任何帮助表示赞赏。
I'm toying with the idea for my text input box of clicking on a div containing a selection of "tags" to add meta content. My text input has a width of 35, but I want it to be able to overflow.
I've searched and found methods to focus and position my caret at the end of the updated input content, and chrome and IE behave themselves and auto scroll to show the cursor in the visible area of the input box, but when the text input is full and overflows Firefox 3.0.7 leaves the correctly positioned caret out of view to the right (though if you press right arrow on keyboard you can get to it without disturbing the position).
Any help appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看我的答案这个问题。 虽然它相对笨拙,但您可以在 FF 中触发按键事件,并且输入将滚动到末尾(在您希望看到的位置显示插入符号)。
See my answer this question. Although it is relatively kludgy, you can trigger an keypress event in FF and the input will scroll to the end (showing the caret where you'd like to see it).
我在 FireFox 中滚动到文本区域内的选择时遇到了类似的问题。 我无法发送“空格”然后发送“退格”字符,因为这会覆盖文本区域中的选择。 因此,我找到了一种更好的方法,即在选择后立即重新键入字符,这将强制选择可见。
这是代码:
希望这对一直在寻找此内容的人有所帮助。 我浪费了很多时间试图弄清楚这一点。
I was having a similar problem with scrolling to a selection within a textarea in FireFox. I couldn't send a 'space' then a 'backspace' character because that would overwrite the selection in the textarea. So I found a better way which was to virtually retype the character immediately after the selection which would force the selection to be visible.
Here is the code:
Hope this helps anyone who has been searching for this. I wasted a lot of time trying to figure this out.
谢谢,这对我有用,jtompson。 将其与现有脚本相结合,将插入符号移动到文本输入或文本区域的末尾,似乎涵盖了 IE7、FF3 和 chrome。
Thanks, that works for me jtompson. Combined it with an existing script to move the caret to the end of a textinput or textarea seems to cover IE7, FF3, and chrome.