use input event instead of keyup