如果我收听文本框(textarea
)按键事件,当用户输入任何字符时,我可以获取事件的坐标吗?
$('#textAreaId').bind('keydown', function(event) {
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;
alert(data.pageY);
});
答案 0 :(得分:0)
您想要元素的位置还是插入符号的位置?
要获得插入符号的位置,您可以使用以下函数(从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);
});
答案 1 :(得分:0)