将文本区域行/列转换为屏幕 x/y 坐标
Convert textarea row/column to screen x/y coordinates
我的网页上有一个textarea元素,它将包含一些纯文本(字母数字,换行符,制表符,空格)。我知道如何获取光标的行和列。但是,我需要一种方法将它们转换为屏幕坐标,以便我可以在光标的确切位置显示浮动div。我看到两种方式
方法 1:从屏幕上的 (0,0) 偏移文本区域。对于 x 坐标,遍历该行上的每个字符,然后将字符数乘以每个字符的宽度(制表符与实际字符的计数方式不同),并将其添加到原始偏移量中。对于 y 坐标,取行数乘以每行的高度,并将其添加到原始偏移量中。但是,如何计算字符宽度和行高?
方法 2:查找一个 JavaScript 库。有没有人知道现有的javascript库/框架,如jQuery可以做到这一点?我看过了,似乎什么也找不到。
触发onchange
事件后,检查mouseMove
事件,然后获取坐标:
var waiting;
function text_changed(event) { //attach this to onChange
waiting = true;
setTimeout('waiting = false',1000);
}
function mouse_moved(event) { //attach this to mouseMove
if (waiting) {
display_div(event.pageX,event.pageY);
waiting = false;
}
}
function display_div(x,y) {
$('#floating_div').css('left',x).css('top',y).css('display','block');
}
如果有必要,请将 jQuery 替换为常规的 DOM 脚本:
function display_div(x,y) {
var elmt = document.getElementById('floating_div');
elmnt.setAttribute('style','left:'+x+';top:'+y+';display:block');
}
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 如何在d3.js中返回路径的y坐标
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 将文本区域行/列转换为屏幕 x/y 坐标
- 获取画布 X 和 Y 坐标并显示在屏幕上
- 如何计算坐标以将元素保留在用户屏幕的区域中
- 在 CSS3D 元素上查找屏幕坐标的局部坐标
- 在热图上映射鼠标点击坐标以获得不同的分辨率&JS/Jquery中的屏幕大小
- 在html中的屏幕坐标(x,y)处选择一个单词
- SVG 到屏幕坐标
- 如何从(x, y)屏幕坐标转换为LatLng(谷歌地图)
- 如何将屏幕坐标转换为z变换元素上的坐标
- 得到圆弧路径的中心,得到与屏幕坐标相关的x和y
- 使用鼠标坐标从屏幕抓取图像
- 我怎样才能“着色”呢?使用坐标表示屏幕的特定部分
- javascript webgl中的屏幕到世界坐标
- 获取矩形元素的屏幕像素坐标
- 在屏幕的给定坐标处显示JqueryUI对话框
- 如何在Javascript中打开屏幕坐标外的弹出窗口