如何在JQuery中出现click事件时获取相对光标位置到被点击的元素?

问题描述 投票:0回答:4

我想读取相对于点击元素e.target而不是eventObject.pageXeventObject.pageY的位置。

var eventObject = null;
$(document).click(function(e){
    eventObject = e;
    //how to get position relative to e.target ??
});
javascript jquery
4个回答
0
投票

你有没有尝试过:?

 var posX = $(this).position().left, posY = $(this).position().top;
 alert((e.pageX - posX) + ' , ' + (e.pageY - posY));

0
投票

根据您的需要,有两种获取元素位置的方法。

这将返回相对于元素父级的位置

$(eventObject.target).position().top;
$(eventObject.target).position().left;

这是针对相对于文档的位置

$(eventObject.target).offset().top;
$(eventObject.target).offset().left;

实现的不同取决于元素的位置(绝对或相对)


0
投票
var targetRelativeX = eventObject.pageX - eventObject.target.offsetLeft;
var targetRelativeY = eventObject.pageY - eventObject.target.offsetTop;

0
投票

我认为它可以你的see here

$(document).ready(function(){
    $("button").click(function(){
        var x = $("p").position();
        alert("Top position: " + x.top + " Left position: " + x.left);
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.