Javascript 无法捕获div元素内的坐标
我需要在点击时捕捉坐标。但当我在Javascript 无法捕获div元素内的坐标,javascript,jquery,coordinates,Javascript,Jquery,Coordinates,我需要在点击时捕捉坐标。但当我在cont内单击时,得到的值不正确。这可能是什么原因?看起来,捕获的x坐标是正确的,但Y坐标是错误的 HTML: 如果试图获取与#cont相关的偏移位置,则不需要使用parent()子句 如果您试图获取与#second相关的位置,请继续使用parent()子句 此外,如果您试图在#first中获取位置,请添加另一个parent()子句 如果您试图在页面本身的上下文中获取单击的位置(“全局”位置),请使用事件的“pageX”和“pageY”属性 $('#cont').
cont
内单击时,得到的值不正确。这可能是什么原因?看起来,捕获的x坐标是正确的,但Y坐标是错误的
HTML:
如果试图获取与#cont
相关的偏移位置,则不需要使用parent()
子句
如果您试图获取与#second
相关的位置,请继续使用parent()
子句
此外,如果您试图在#first
中获取位置,请添加另一个parent()
子句
如果您试图在页面本身的上下文中获取单击的位置(“全局”位置),请使用事件的“pageX”和“pageY”属性
$('#cont').click(function(event) {
var parentOffset = $(this).offset();
var x1 = event.pageX - parentOffset.left;
var y1 = event.pageY - parentOffset.top;
console.log("Local position: " + x1 + ", " + y1);
var mouseXPos = event.pageX;
var mouseYPos = event.pageY;
console.log("Global position: " + mouseXPos + ", " + mouseYPos);
});
我举了一个例子:我不知道
行
函数是什么。看起来像是一个扩展。如果海报能够快速复制您的场景,而不必费劲地使其工作,这将对海报有所帮助。我建议使用JSFIDLE,但是修改您的代码,以便他们也可以复制您的问题。为什么我们真的需要偏移量?为什么event.pageX
不返回实际的x
坐标?如果您试图获取页面(全局)位置,则不返回。我已经更新了我的答案,包括本地和全球职位收集。
$('#cont').click(function(event) {
var parentOffset = $(this).parent().offset();
if(count == 0) {
x1 = event.pageX - parentOffset.left;
y1 = event.pageY - parentOffset.top;
$('#cont').line(x1,y1,x1+1,y1+1,{color:"white", style: "dashed"});
}
});
$('#cont').click(function(event) {
var parentOffset = $(this).offset();
var x1 = event.pageX - parentOffset.left;
var y1 = event.pageY - parentOffset.top;
console.log("Local position: " + x1 + ", " + y1);
var mouseXPos = event.pageX;
var mouseYPos = event.pageY;
console.log("Global position: " + mouseXPos + ", " + mouseYPos);
});