Почему этот javascript вызывается дважды?

У меня есть кнопка, на которой я подключил onclick к вызову, чтобы получить местоположение пользователя, а затем использовать это местоположение, чтобы сделать еще один вызов для получения списка ближайших местоположений. По какой-то причине метод успешной геолокации вызывается дважды при втором нажатии кнопки.

Итак, я загружаю страницу, нажимаю кнопку, разрешаю использовать мое местоположение, и он сделает один запрос ajax, чтобы получить ближайший локации. Это прекрасно работает.

Я снова нажимаю кнопку, разрешаю использовать мое местоположение (снова), он делает один запрос ajax для получения местоположения, жду ~ 2 секунды, а затем делаю другой запрос с теми же координатами без разрешения. Таким образом, метод успеха должен вызываться дважды, но я не уверен, почему.

$("#FindLocation").click(function () {
  myScript.findNearbyLocations(displayData, displayError);
});

Эта функция щелчка не вызывается дважды, и я закомментировал весь код в displayData и displayError.

findNearbyLocations: function (onSuccess, onFailure) {
  if (navigator.geolocation) {
    browserSupportFlag = true;
    navigator.geolocation.getCurrentPosition(function (position) {
      alert('This is getting called twice except on the initial call.');
      myScript.findStores(position.coords.latitude, position.coords.longitude, onSuccess, onFailure);
    }, function () {
      onFailure(true);
    });
  }
}

Кто угодно видит, где Я ошибся?

Edit: Я не думаю, что проблема заключается в разметке. Я использую только базовые веб-страницы для тестирования. На данный момент нет стилей или других элементов.

<form id="form1" runat="server">
  <div>      
    <MyControls:Search ID="Search" runat="server" />
  </div>
</form>

и пользовательский элемент управления (вместе со всем необходимым javascript включает)

<script type="text/javascript">
  $(document).ready(function () {
    $("#FindLocation").click(function () {
      myScript.findNearbyLocations(displayData, displayError);
    });
  });
</script>

<input type="button" id="FindLocation" value="Find Location" />
<div id="results">
</div>
10
задан Brandon 7 January 2011 в 16:07
поделиться