这是我的代码:
<div id="a" style="position:absolute;width:200px;height:200px;background:red;word-wrap:break-word;">
<div id="b" style="width:50px;height:50px;background:blue;"></div>
</div>
脚本是:
$( "#b" ).draggable({ containment: 'parent' });
$('#a').click(function(e){
alert(e.pageX)
//return false;
})
e.pageX相对于window
,
如何获取x,y相对于父div?
演示在这里:http://jsfiddle.net/KwYjr/2/
感谢
答案 0 :(得分:4)
有关jQuery中Event对象的信息,请参阅以下文档:http://api.jquery.com/category/events/event-object/
你会看到它正常化(在浏览器上做同样的)一些属性,但不是全部。你需要的是.offsetX
。
请注意,某些浏览器并不总是定义.offsetX
。在可以使用的事件中通常有一个替代变量。否则,请获取您想要该值的元素的.offset()
位置,然后使用.pageX
。
尝试使用e.pageX - e.target.offsetLeft
:http://jsfiddle.net/KwYjr/7/