使用jquery获取相对于图片的点击坐标
Using jquery to get click coordinates relative to picture
我正在尝试制作一个类似Facebook的照片标记系统,但使用目前的技术,我可以点击图像并获得坐标,但当我试图使输入框显示在这些坐标时,它会被偏移,因为img所在的div不在页面的右上角。我可以手动更改x和y的值以使其更准确,但如果我决定重新设计页面样式或移动div,数据库中所有标签的坐标都将偏离。Facebook是如何做到的?有没有办法保持坐标相对于包含的div?
这是我的东西。
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {
$("#photo").click(function(e) {
var offset = $(this).offset();
var x = (e.pageX + offset.left);
var y = (e.pageY + offset.top);
$("#tagger").css('top', y - 110); //manual offset
$("#tagger").css('left', x-20); //manual offset
$("#tagger").show().focus();
});
});
</script>
下面的div需要准备好放置在页面上的任何位置,并且仍然具有标记功能。
<div>
<img id="photo" src="image.jpg" height="300" width="300">
<input type="text" name="tagger" id="tagger">
</div>
谢谢你的帮助!
尝试使用.position
而不是.offset
。这将返回元素相对于其父容器的坐标。
相关文章:
- 在坐标上模拟点击坐标js/jQuery
- 使用jQuery获取用户坐标
- 使用jquery获取相对于图片的点击坐标
- 使用 jQuery 正确更改 SVG 线坐标
- jQuery UI:Y 鼠标在放置可拖动对象时坐标错误
- 尝试使用 JQuery 将 x 和 y 坐标保存在数组中时未定义
- 调用两次时 jQuery 偏移量(坐标)的行为不一致
- 使用 jQuery offset() 将绝对定位的 DIV 设置为另一个 DIV 的相同 y 坐标
- 如何在没有JQuery的情况下使用JavaScript正确获取鼠标坐标
- 使用JQuery迭代和打印坐标
- 选择图像的一部分,并使用jQuery检索其坐标
- 如何使用HTML、CSS、Javascript和If Useful JQuery创建可点击分区的坐标网格
- 是否可以在网页中使用HTML5或jquery中的坐标进行导航
- 在热图上映射鼠标点击坐标以获得不同的分辨率&JS/Jquery中的屏幕大小
- Jquery弹出2许多警报和错误的坐标
- 使用 JavaScript / jQuery 在键下获取 X,Y 坐标
- 使用jquery,我想把一个图像在另一个基于坐标
- 我如何检测如果鼠标已经移动到窗口的特定坐标,JavaScript/Jquery
- 安卓4.x - e.preventDefault . pagex &pagey坐标非jquery
- 将图像缩小到鼠标单击位置的坐标?(jQuery)