0

我面临的一个问题是:当我输入地址并在键盘上单击“Enter”时,页面将被重新加载。进度将在“google.maps.Geocoder().geocode()”之前自动停止。看起来“Enter”键导致回发并在地理编码器回调函数完成之前重置地图。

“store-search-street”是我的文本文件,如果我在下面写了相关方法:

   $('#store-search-street').keyup(function(e){
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false;
    });

然后当我将地址复制到文本字段时,它可以执行 geocode() 并且一切都很好。但是其中没有“Enter”键。

当我将代码更改为下面以使“单击 ENTER 提交地址”时

 $('#store-search-street').keyup(function(e){
    if (e.keyCode == 13) {
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false; }
    });

geocode() 不起作用。谁能帮我解决这个问题?谢谢!

4

1 回答 1

0

我猜您正在使用表格来获取详细信息。

通常,表单会将信息发布到网站,而不仅仅是启动脚本而不去任何地方。

您需要捕获该表单提交(回车键)并抑制它,以便您的脚本运行。

<form id="postcodeEntry" method="post" action="/" onsubmit="some_javascript_function";return false;">

抛出一个“onsubmit”来捕捉表单提交。

于 2013-02-28T07:32:23.330 回答