offsetX,offsetY和pageX,pageY有什么区别?

kaz*_*kaz 21 javascript

我需要一个弹出窗口,它会出现在我点击的锚点的正下方.现在,我想确定一个锚点的onClick事件的x和y坐标.这样做的最佳做法是什么?使用哪些可取的事件属性?

Ali*_*guy 35

offsetXoffsetY是相对于父容器的,而pageXpageY是相对于文档的.请不要混淆.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();
});
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/offset/

http://api.jquery.com/position/

  • 使用jQuery对于回答这个问题完全是多余的.信不信由你*可以*确定x,y坐标*而不需要jQuery. (3认同)
  • 4年后......;) (3认同)