我希望能够在文本输入中的字符串末尾动态插入一个 div。
例如,如果我有一个文本输入...
MyInput: <input type="text" name="myInput" value="" />
...在他们的浏览器中有人键入...
MyInput: Here is some sample input
我想在输入单词后立即生成 div。
有谁知道如何在文本输入中获取字符串尾端的绝对像素坐标?
谢谢!
我希望能够在文本输入中的字符串末尾动态插入一个 div。
例如,如果我有一个文本输入...
MyInput: <input type="text" name="myInput" value="" />
...在他们的浏览器中有人键入...
MyInput: Here is some sample input
我想在输入单词后立即生成 div。
有谁知道如何在文本输入中获取字符串尾端的绝对像素坐标?
谢谢!
我不喜欢这样的答案,但是:
您希望它能够跨浏览器和跨平台工作,对吗?IE、Chrome、Firefox、Safari;Windows、Linux、Mac……我非常怀疑我们还没有到达那里。当您进入输入框时,您会进入本机呈现的控件(例如在 IE 上),这会将您带入安装字体和可访问性增强的兔子洞......
除非用例确实是压倒性的,或者有人指出我不知道的功能(并且会很高兴学习),否则我建议从不同的角度处理这个 UI。
我会尝试使用与输入相同的文本创建一个内联元素,然后计算该元素的宽度并将宽度用作 div 的“左”坐标。
例如:
<input type="text" value="Here is some sample input" />
<span id="clonedInput" style="visibility:hidden">Here is some sample input</span>
您测试宽度和更新跨度文本的功能可能是 onkeypress。如果您将相同的 css 样式应用于跨度作为输入(就字体系列/pt而言),我会看到这种方法最成功