HTML input onChange Event Triggered Multiple Times with Korean Multilingual Keyboard in iOS 18

Description:
When using a multilingual keyboard that includes Korean in iOS 18, the input element's onChange event is triggered multiple times instead of just once. This issue occurs not only when entering numbers with input type="tel" or inputMode="numeric", but also when entering text with input type="text". This causes unexpected behavior in forms and other input-related functionalities.

Affected Devices and OS Version:

  • Device: iPhone 16 Pro
  • OS Version: iOS 18.0

You can reproduce the issue with this CodeSandbox example: https://codesandbox.io/p/sandbox/elegant-dream-jnqh39

Steps to reproduce:

  1. Use a multilingual keyboard (e.g., Korean and English) on iOS 18.
  2. Type some text into the input field (input type="text").
  3. Also try entering numbers using input type="tel" or inputMode="numeric".
  4. Observe that the onChange event is fired multiple times for both text and numeric input.

Expected behavior: The onChange event should only be triggered once when text or numeric input changes.

Additional Information: This issue has been reported under feedback ID FB15377631. Currently waiting for a response from Apple regarding this feedback.

HTML input onChange Event Triggered Multiple Times with Korean Multilingual Keyboard in iOS 18
 
 
Q