JavaScript onload Click事件

时间:2017-07-09 22:46:41

标签: javascript

我正在使用地理定位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中,甚至没有点击。如果我使用点击按钮,则表示坐标为undefined

1 个答案:

答案 0 :(得分:0)

您的代码以namespace Foo\Bar\Test; use PhpUnit\Framework; use Psr\Log; final class LoggerAwareTest extends Framework\TestCase { public function testImplementsLoggerAwareInterface() { $loggerAware = new Asset\LoggerAware(); $this->assertInstanceOf(Log\LoggerAwareInterface::class, $loggerAware); } }

开头

加载.js后立即调用showLocation函数,这就是它立即运行的原因。

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

所以你的按钮变成了:

navigator.geolocation.getCurrentPosition(showLocation);

并且您的脚本只是showLocation函数

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