title: Prevent typing non-numeric in input type number
body: <p>Using <code>&lt;input type=number&gt;</code> will cause <code>this.value</code> inside of an event listener to return an empty string if the input is not a valid number.  You can see an example of this at <a href="http://jsfiddle.net/fSy53/">http://jsfiddle.net/fSy53/</a></p>
  
  <p>However, the invalid characters are still displayed in the input.</p>
  
  <p>Is there any way to get the value that is actually <em>displayed</em>, including the invalid characters, from within an event listener?</p>
  
  <p>My ultimate goal is to prevent users from actually typing any non-numeric characters into the field.  I need to use <code>type=number</code> so that the numeric virtual keyboard is used by mobile devices.  My goal would be to do something like <code>this.value = this.value.replace(/[^0-9.]/g, "")</code> on <code>keyup keypress</code>, but this doesn't work because if an invalid character is typed, reading from <code>this.value</code> returns <code>""</code>.</p>