2010-11-27 45 views
2

這是我的代碼,點擊一個DIV:如何讓OFFSETX相對於父DIV,當我使用jquery

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

感謝

回答

4

的信息請參見jQuery中的下列文件事件對象:http://api.jquery.com/category/events/event-object/

你將看到它正常化(使得同樣在瀏覽器)一些屬性,但不是全部。你需要的是.offsetX

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

注意.offsetX沒有在一些瀏覽器總是被定義。如果可以使用,通常會有一個備用變量。否則,獲取您想要的值的元素的位置,然後使用.pageX

嘗試使用e.pageX - e.target.offsetLefthttp://jsfiddle.net/KwYjr/7/

+0

爲什麼我的Firefox顯示undefiend? – zjm1126 2010-11-27 19:01:55

相關問題