我可以使用document.createRange()
在textnode中获取一系列单个字符,然后Range.getBoundingClientRect()
获取这些字符在屏幕上的位置。我想对input
元素中的文本执行相同的操作,以前只能使用createTextRange
在IE中执行此操作。
这个问题总结了问题 - http://jsfiddle.net/sobu5ug2/2/
我无法对input
使用相同的方法,因为Range.setStart/End
仅适用于input
的元素级别,而不是字符级别。我也试过window.getSelection().getRangeAt(0).getBoundingClientRect()
但是返回了所有0的边界矩形。如果可能的话,我想在没有实际选择文本的情况下这样做。
有没有办法在现代浏览器中执行此操作?感谢。