谷歌地图干扰了Safari中的按钮事件

时间:2012-09-21 00:20:07

标签: forms google-maps submit safari

如果您在下面的测试代码中按“上传您的文件”,按钮文本应更改为“正在上传...”,尽管在Safari中它不会。选择一个足够大的文件应该给你时间观察按钮。注释掉地图div,一切正常。

这是孤立的测试代码,花了半天才发现地图可能是原因,但我需要深入挖掘。有趣的是,当将相同的代码复制到JSfiddle时,它不会重现该错误,因此您需要创建自己的html文件。

<!DOCTYPE html>
<html>
<head>
<title>Google Map interfering with button event in Safari</title>
<meta charset="utf-8">
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
var map;
function init() {
  var options = {
    zoom: 8,
    center: new google.maps.LatLng(0, 0),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('map'), options);
}

google.maps.event.addDomListener(window, 'load', init);
</script>
</head>
<body>
<form action="http://localhost" method="POST" enctype="multipart/form-data">
    <!--comment map to see correct button behaviour in Safari-->
    <div id="map" style="width:300px;height:300px"></div>

    <p><small>Very large file please:</small> <input type="file" name="big"></p>
    <button onclick="this.innerHTML='Uploading...'">Upload your file</button>
</form>
</body>
</html>

之前有类似的问题,但没有解决方案。

0 个答案:

没有答案