offsetX,offsetY和pageX,pageY有什么区别?
问题描述:
我需要一个弹出div,它会出现在我点击的锚下方。现在,我想确定锚点的onClick事件的x和y坐标。做这件事的最佳做法是什么?什么是可以使用的建议事件属性?offsetX,offsetY和pageX,pageY有什么区别?
答
OFFSETX和OFFSETY是相对于父容器,而pageX属性和pageY是相对于文档。请勿将其与.offset()
和.position()
混淆,其中.offset()
与文档相关,.position()
与父容器的.offset()
相关。
像这样示例应该工作(JQuery的):
$('a').click(function(){
var offset = $(this).offset();
$('#popup_div').css('top',offset.top + 'px').css('left',offset.left + 'px').show();
});
答
2从jQuery文档网站提取
的.POSITION()方法允许我们检索元素相对的当前位置到偏移父
http://api.jquery.com/position/
的.offset()方法允许我们以检索元件相对于所述文件的的当前位置。
这里的文档:(http://api.jquery.com/category/events/event-object/#post-850)似乎表明,pageX属性/ Y是相对于文档,而不是窗口,如果页面已滚动,则该窗口很重要。 – aaronstacy
jQuery的使用对于回答这个问题完全是多余的。相信它或不*你可以*确定x,y坐标*而不需要* jQuery。 – Neil
4年后......;) – AlienWebguy