pacSelectFirst( submit button

78

google.maps.event.addDomListener(window, 'load', function() {

  var pac_input = document.getElementById('locatorPlaceSearch');
  var orig_listener;

  (function pacSelectFirst(input) {
    // store the original event binding function
    var _addEventListener = (input.addEventListener) ? input.addEventListener : input.attachEvent;

    function addEventListenerWrapper(type, listener) {
      // Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
      // and then trigger the original listener.
      if (type == "keydown") {
        orig_listener = listener;
        listener = function(event) {
          var suggestion_selected = $(".pac-item-selected").length > 0;

          if (event.which == 13 && !suggestion_selected) {
            var simulated_downarrow = $.Event("keydown", {
              keyCode: 40,
              which: 40
            });
            orig_listener.apply(input, [simulated_downarrow]);
          }

          orig_listener.apply(input, [event]);
        };
      }

      _addEventListener.apply(input, [type, listener]);
      mapsListener = listener;
    }

    input.addEventListener = addEventListenerWrapper;
    input.attachEvent = addEventListenerWrapper;



  })(pac_input);

  autocomplete = new google.maps.places.Autocomplete(pac_input, {
    componentRestrictions: {
      country: $('#hdnLocatorPlace').val()
    },
    types: ['geocode']
  });


  $('#searchAP').off('click').on('click', function(e) {

    var keydown = document.createEvent('HTMLEvents');
    keydown.initEvent("keydown", true, false);
    Object.defineProperty(keydown, 'keyCode', {
      get: function() {
        return 13;
      }
    });
    Object.defineProperty(keydown, 'which', {
      get: function() {
        return 13;
      }
    });
    pac_input.dispatchEvent(keydown);
  });
});

Comments

Submit
0 Comments