I think this needs to be `keyup` for filtering to work as expected; otherwise the newly pressed key will be ignored (which is especially confusing when it is 'backspace' or 'delete', or the first character pressed).