title: ngBlur and ngFocus will not work together
body: <p>I need to make a prepopulated text field that resets to its initial value if the user enters an invalid (empty) string. To achieve this I have the following javascript:</p>
  
  <pre><code>  $scope.storeValueFor = function(object) {
      if(object &amp;&amp; object.value) {
        $scope.fallback = object.value;
      }
    };
  
    $scope.updateValueFor = function(holder, object) {
      if(object.value &amp;&amp; object.value.length &gt; 0) {
        update(holder, object);
      } else {
        object.value = $scope.fallback;
      }
    };
  </code></pre>
  
  <p>I want storeValueFor() to be called when the field is placed in focus, and updateValueFor() to be called when focus is lost. Here is the relevant part of my HTML:</p>
  
  <pre><code>          &lt;input ng-model="object.value"
                   ng-show="!hideInput()"
                   ng-blur="updateValueFor(holder, object)"
                   ng-focus="storeValueFor(object)"
                   ng-minlength="1"&gt;
            &lt;span ng-bind-html="formatString(object.value)" ng-hide="hideInput()"&gt;&lt;/span&gt;
  </code></pre>
  
  <p>Now, my issue is that only the top directive (ng-blur or ng-focus) is actually active. In other words, here updateValueFor() would be called, but not storeValueFor(). If I change it so that ng-focus is on top it will be the other way around. </p>
  
  <p>I have found a working example of this combination <a href="http://jsfiddle.net/deathhell/UTn5y/2/" rel="nofollow" title="here">here</a>, but when I replace my function calls with the inline functions seen here the behaviour persists.</p>
  
  <p>Does anyone have an idea of what could cause this?</p>
  
  <p>Edit: As it turns out this behaviour only manifests on the instance of Chrome I use for development and as such have AngularJs Batarang installed on. Disabling this extension removes the problem. Can someone give me an idea of why this is happening?</p>