2011-04-26 138 views
7

我是一個JavaScript初學者,正在尋找一種方法在單擊按鈕時獲取按鈕上的x和y座標。這適用於Opera,IE9和Chrome,但我無法在Firefox中使用它。這是我到目前爲止的代碼:使用'onclick'和JavaScript獲取按鈕上的X/Y座標

功能在JavaScript:

function buttonClick(subEvent) 
{ 
    var mainEvent = subEvent ? subEvent : window.event; 

    alert("This button click occurred at: X(" + 
    mainEvent.screenX + ") and Y(" + mainEvent.screenY + ")"); 
} 

這裏是HTML部分:

<input type="button" onclick="buttonClick()" value="Submit"/> 

這裏的想法是在點擊按鈕時,只得到了座標和獲取按鈕本身邊框內的實際座標。在屏幕上獲得座標更容易,並找到所有瀏覽器的解決方案已經完成。

在此先感謝您的幫助。

+0

嗯,你沒有得到一個X和Y的X和Y位置由表佈局 – 2011-04-26 23:49:40

+0

支配我認爲剛纔放置的按鈕本身內部的TD的子元素表。爲了更清楚,我刪除了代碼部分...謝謝。 – nicorellius 2011-04-26 23:54:59

回答

8

您需要傳遞事件。這樣做是爲這樣:

<input type="button" onclick="buttonClick(event)" value="Submit"/> 
              ^
              '---- that one there 
+0

該死!看,這是一個很明顯的「誤解」的例子。我其實在其他地方閱讀過這個例子,但是這個例子看起來像是'event'是變量,所以我把它放在'event'的位置,就像'onclick =「buttonClick(subEvent)」'一樣,它不起作用但是你真的需要'event'這個詞... Geez ...謝謝! – nicorellius 2011-04-27 00:23:38

+0

沒問題,不客氣。 – Christian 2011-04-27 06:21:12