2011-07-03 211 views
0

如何在onclick事件後獲取元素的座標?我需要在被點擊的圖標下放置一個疊加層。獲取元素的座標

是否有任何這樣的內置函數提供的Javascript而不是手動編寫一個函數呢?

+2

它可以比它似乎更復雜的領域。無論是[jQuery](http://jquery.com),[原型](http://prototypejs.org),[YUI](http),我都推薦使用一個好的庫來節省時間和麻煩。 ://developer.yahoo.com/yui/),[關閉](http://code.google.com/closure/library)或[其他任何一個](http://en.wikipedia.org/維基/ List_of_JavaScript_libraries)。他們還會做很多其他的事情來平滑瀏覽器差異,提供實用程序功能,並讓您專注於您實際嘗試構建的內容。 –

+1

要回答直接的問題:不,沒有這樣的內置函數。您必須在某個事件處理程序中使用'event'對象來提取元素的位置。 –

+1

@ T.J。根據問題歷史記錄,OP使用PrimeFaces,它附帶jQuery和YUI。 – BalusC

回答

0

試試這個:

function getGlobalPos(el) { 
    var p = {x:0,y:0}; 
    while (el) { 
    p.x += el.offsetLeft; 
    p.y += el.offsetTop; 
    el = el.offsetParent; 
    } 
    return p; 
}