title: <input type="date> onchange fires too much
body: <p>In Chrome at least, the <code>&lt;input type="date&gt;</code> <code>onchange</code> event fires on every keystroke that changes the date, which means if you are typing the year, for example, it will fire on every keystroke. </p>
  
  <p>But, they aren't done changing the date yet! Seems like this is what <code>oninput</code> should be doing. I thought <code>onchange</code> was for the change as a whole. When I'm typing 0,1,1,5,1,9,8,7 (01/15/1987), that's not 8 changes, that's 1.</p>
  
  <p>You could say, well, check the value <code>onblur</code>, but then my event will fire even if they are just tabbing through the field and it didn't change.</p>
  
  <p>My handler is a generic ajax postback routine that doesn't / can't check the old vs new value.</p>
  
  <p>Isn't there an event that fires only on a change (but when they are done changing)?</p>
  
  <p>Maybe in <code>onblur</code> I could check the old value but I'm not sure how.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input type="date" onchange="alert('changed')"&gt;</code></pre>
  </div>
  </div>
  </p>