Is there a reason these fields listen to keydown events instead of keyup events?

Currently, when entering start and end dates that do not differ, or differ only by one field, the Done button is disabled until hitting an extra key, or focusing out of the field to trigger the change events. To me, this seems like it could be easily fixed by changing the key down events to key up events.

2011-10-14 start
2011-10-28 end
after filling these fields, the red text: β€œThe end date cannot precede the begin date.” appears, and the Done button is disabled. This is caused because the last time a key is pressed down, the end date fields contain β€œ2011”, β€œ10” and β€œ2”. Only after this moment, the last character β€˜8’, is appended to the β€œ2”. If this listener were to wait for when the key is released, the last field would already be β€œ28” and this would not be an issue.