我在Android中有一个webview,在其中我使用window.getSelection();
方法,以便从屏幕顶部获取当前光标位置的高度。问题是,当我从android的键盘输入5次时,它给出了正确的高度,但是当我回到第二行并再次按回车键时,它返回第六行的高度,即最后添加的新<br>
而不是从顶部3行的高度。
简而言之。假设我总共有5行,这个函数将返回第五行的高度。但是当我进入2行并按下回车键时,它必须从顶部返回第三行的高度,但它在android webview中给出了6行的高度。
代码低于以下。我想计算currentLine
,即光标所在的行。
var sel = window.getSelection();
if (sel.anchorNode != undefined) {
if (sel.anchorNode.offsetTop != undefined)
currentLine = Math.ceil(sel.anchorNode.offsetTop / lineHeight) + 1;
else if (sel.anchorNode.parentNode != undefined && sel.anchorNode.parentNode.offsetTop != undefined)
currentLine = Math.ceil(sel.anchorNode.parentNode.offsetTop / lineHeight) + 1;
}