iOS5 datepickers don't fire onchange #25

paulirish opened this Issue May 11, 2012 · 2 comments

3 participants



Mobile Safari on iOS5 does not fire the change event when a new date/time is selected with the native picker.

Platforms Affected:

  • iOS 5 Mobile Safari, incl iphone and ipad

Correct results

  • Chrome on Android tested, and it successfully fires change event
  • Opera Mobile also fires change event
  • (Android Browser on ICS doesn't have <input type=date> support so its moot there)

How to reproduce:

  1. select a date
  2. click elsewhere to commit the change
  3. change event never fires.

Reduced Example:

Bug Tracker ticket(s):

  • not filed


  • The blur event fires, so you can bind to that instead. You'll probably want to bind to both and add some fancy logic to cancel out one of them.

For the workaround of using both blur and change, you could probably get around it by attaching a single event handler that unbinds when fired once. jQuery has $().one() for that

$("input[type='date']").one("blur change", function(){  
//will only execute once

if you need to have the function execute more than once per DOM element ever, you could re-apply it with a setTimeout, to avoid the dual firing.


ios select elements don't seem to fire the change event either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment