如果我听文本框(textarea
)按键事件,当用户输入任何字符时,我可以获取事件的坐标吗?在textBox或TextArea中获取事件的坐标?
$('#textAreaId').bind('keydown', function(event) {
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;
alert(data.pageY);
});
如果我听文本框(textarea
)按键事件,当用户输入任何字符时,我可以获取事件的坐标吗?在textBox或TextArea中获取事件的坐标?
$('#textAreaId').bind('keydown', function(event) {
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;
alert(data.pageY);
});
你想要元素的位置还是脱字符的位置?
为了让你可以使用下面的函数(从another question借用)插入符的位置:
function getCaret(el) {
if (el.selectionStart) {
return el.selectionStart;
} else if (document.selection) {
el.focus();
var r = document.selection.createRange();
if (r == null) {
return 0;
}
var re = el.createTextRange(),
rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
return rc.text.length;
}
return 0;
}
要获得textarea
元素相对于文档的位置,您可以使用.offset
:
$("#textAreaId").bind('keydown', function(event){
var offset = $(this).offset();
console.log(offset);
});
如何获取光标位置从窗口顶部的textarea? – 2011-04-28 09:19:10
是的我olredy看到这样的代码。但我试图从窗口顶部的textArea中获取光标的确切坐标。这将是完美的解决方案。 – 2011-04-28 09:13:50
@Darien,光标或插入符号? – mekwall 2011-04-28 10:26:02
需要插入它的文本区域的x/y坐标。 – 2011-04-28 14:17:41