我想读取相对于点击元素e.target
而不是eventObject.pageX
和eventObject.pageY
的位置。如何在JQuery中出现点击事件时获取相对光标位置点击元素?
var eventObject = null;
$(document).click(function(e){
eventObject = e;
//how to get position relative to e.target ??
});
我想读取相对于点击元素e.target
而不是eventObject.pageX
和eventObject.pageY
的位置。如何在JQuery中出现点击事件时获取相对光标位置点击元素?
var eventObject = null;
$(document).click(function(e){
eventObject = e;
//how to get position relative to e.target ??
});
你试过了吗?
var posX = $(this).position().left, posY = $(this).position().top;
alert((e.pageX - posX) + ' , ' + (e.pageY - posY));
有两种方法根据你想要得到的元素的位置。
这将返回相对元素的父
$(eventObject.target).position().top;
$(eventObject.target).position().left;
的位置,这是相对于文件
$(eventObject.target).offset().top;
$(eventObject.target).offset().left;
实施不同的位置取决于位置的元素有(绝对的或相对的)
var targetRelativeX = eventObject.pageX - eventObject.target.offsetLeft;
var targetRelativeY = eventObject.pageY - eventObject.target.offsetTop;
我认为它可以你see here
$(document).ready(function(){
$("button").click(function(){
var x = $("p").position();
alert("Top position: " + x.top + " Left position: " + x.left);
});
});