title: preventDefault() in a keydown event, onchange event not trigger
body: <p>The <code>preventDefault()</code> called in a keydown or keypress event with value programmatically changed does not consider changing and does not trigger the onchange event at the exit of the input text.</p>
  
  <p>Example code:</p>
  
  <pre><code>$('#textbox1').on('change', function() {
      alert('onchange called');
  });
  
  $('#textbox1').on('keydown', function(event) {
      if(event.key=='a') {
  
        $(this).val('A');
        //event.target.value = 'A';
        event.preventDefault();
      }
  });
  </code></pre>
  
  <p>After a call of onchange (leaving the input text) digit only the char 'a' and leaving the input another time.</p>
  
  <p>Fiddle code: <a href="http://jsfiddle.net/gxx5744s/1/" rel="nofollow noreferrer">http://jsfiddle.net/gxx5744s/1/</a></p>
  
  <p>What does use the onchange event to check if a value has changed? A pair of old / new value variables? a boolean?
  Can be possible interact with it?</p>
  
  <p>Keydown event default probably also does this.</p>