[英]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.