簡體   English   中英

JavaScript onload Click事件

[英]JavaScript onload Click event

我正在使用geolocation API,並且試圖建立一個onclick事件,在該事件中,一旦單擊按鈕,就會顯示用戶位置的經度。 但是我的onclick函數無法正常工作,因為即使我沒有調用它,我的函數也似乎正在加載。

 <!DOCTYPE html> <html lang="en"> <head> <link href="style.css"> <title> </title> <!--<script src="modernizr.custom.64298.js"></script>--> </head> <body> <button onclick="showLocation()">Click</button> <p id="info"></p> <script src="script.js"></script> </body> </html> 

JavaScript代碼:

 navigator.geolocation.getCurrentPosition(showLocation); function showLocation(position) { var currPosLat = position.coords.latitude; document.getElementById("info").innerHTML = "latitude: " + currPosLat; } 

我只是不確定自己在做什么錯。 我的緯度只是被加載到我的innerHTML中,甚至無需單擊即可。 如果我確實使用單擊按鈕,則說coords undefined

您的代碼以navigator.geolocation.getCurrentPosition(showLocation);

一旦加載了.js,就會立即調用showLocation函數,這就是為什么它立即運行的原因。

您需要做的就是將此行移至onclick上,它將起作用:

因此,您的按鈕變為:

<button onclick="navigator.geolocation.getCurrentPosition(showLocation)">Click</button>

而您的腳本只是showLocation函數

function showLocation(position) {
    var currPosLat = position.coords.latitude;
    document.getElementById("info").innerHTML = "latitude: " + currPosLat;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM