Restore change event handler

This makes keyboard nav very unpleasant, but I can't figure out how to
distinguish the mouse change events from the keyboard ones.
Fixes #2998, #2999