当我使用jquery单击一个div时,如何获取offsetX表示相对于父div

时间:2010-11-27 18:49:50

标签: javascript jquery parent

这是我的代码:

<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/

感谢

1 个答案:

答案 0 :(得分:4)

有关jQuery中Event对象的信息,请参阅以下文档:http://api.jquery.com/category/events/event-object/

你会看到它正常化(在浏览器上做同样的)一些属性,但不是全部。你需要的是.offsetX

http://jsfiddle.net/KwYjr/3/

请注意,某些浏览器并不总是定义.offsetX。在可以使用的事件中通常有一个替代变量。否则,请获取您想要该值的元素的.offset()位置,然后使用.pageX

尝试使用e.pageX - e.target.offsetLefthttp://jsfiddle.net/KwYjr/7/