<div class="ng-geocoder">
  <input id="{{ vm.id }}" placeholder="{{ vm.placeholder }}" class="ng-geocoder__input" type="text" ng-model="vm.query" ng-class="vm.inputClass" ng-keydown="vm.inputKeydown($event)" ng-blur="vm.inputFocused = false; vm.showList = false" ng-focus="vm.inputFocused = true; vm.showList = true" autocomplete="off"/>

  <ul class="ng-geocoder__list" ng-show="vm.displayList()" ng-style="{ 'max-height': vm.maxHeight || '250px' }">
    <li class="ng-geocoder__list__item" ng-repeat="result in vm.results" ng-class="{ 'ng-geocoder__list__item--focus': vm.index === $index }" ng-click="vm.select($index)">
      <strong class="ng-geocoder__list__item__text" ng-bind="result.formatted_address" tabindex="{{ $index }}"></strong>
    </li>
    <li class="ng-geocoder__list__item ng-geocoder__list__item--searching" ng-if="vm.isSearching">
      <strong class="ng-geocoder__list__item__text" ng-bind="vm.textSearching"></strong>
    </li>
    <li class="ng-geocoder__list__item ng-geocoder__list__item--empty" ng-if="vm.isEmpty">
      <strong class="ng-geocoder__list__item__text" ng-bind="vm.textNoResults"></strong>
    </li>
  </ul>
</div>

<div class="ng-geocoder">
  <input id="{{ vm.inputId }}" placeholder="{{ vm.placeholder }}" class="ng-geocoder__input" type="text" ng-model="vm.query" ng-class="vm.inputClass" ng-keydown="vm.inputKeydown($event)" ng-blur="vm.showList = false" ng-focus="vm.showList = true" autocomplete="off"/>

  <ul class="ng-geocoder__list" ng-show="vm.displayList()" ng-style="{ 'max-height': vm.maxHeight || '250px' }">
    <li class="ng-geocoder__list__item" ng-repeat="result in vm.results" ng-class="{ 'ng-geocoder__list__item--focus': vm.index === $index }" ng-click="vm.select($index)">
      <strong class="ng-geocoder__list__item__text" ng-bind="result.formatted_address" tabindex="{{ $index }}"></strong>
    </li>
    <li class="ng-geocoder__list__item ng-geocoder__list__item--searching" ng-if="vm.isSearching">
      <strong class="ng-geocoder__list__item__text" ng-bind="vm.textSearching"></strong>
    </li>
    <li class="ng-geocoder__list__item ng-geocoder__list__item--empty" ng-if="vm.isEmpty">
      <strong class="ng-geocoder__list__item__text" ng-bind="vm.textNoResults"></strong>
    </li>
  </ul>
</div>

Simplify keydown and blur events and fix input id
Simplify keydown and blur events and fix input id
