์ผ€์ด์Šค ce-0043 ยท ์‹œ๋‚˜๋ฆฌ์˜ค scenario-beforeinput-support

beforeinput event is not supported in Safari

OS: macOS Ubuntu 22.04 ๊ธฐ๊ธฐ: Desktop or Laptop Any ๋ธŒ๋ผ์šฐ์ €: Safari 120.0 ํ‚ค๋ณด๋“œ: US ์ดˆ์•ˆ
beforeinputeventssafaricompatibility

์ด ํŽ˜์ด์ง€๋Š” ์•„์ง ๋ฒˆ์—ญ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค

ํ˜„์žฌ ์˜์–ด ์›๋ฌธ์„ ํ‘œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญ์— ๊ธฐ์—ฌํ•ด ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Phenomenon

The beforeinput event, which is crucial for intercepting and modifying input before itโ€™s committed to the DOM, is not supported in Safari. This makes it difficult to implement custom input handling that works across all browsers.

Reproduction example

  1. Create a contenteditable div.
  2. Add an event listener for the beforeinput event.
  3. Type some text.
  4. Observe whether the beforeinput event fires.

Observed behavior

  • In Safari on macOS, the beforeinput event does not fire.
  • Event listeners for beforeinput are never called.
  • Alternative approaches must be used, but they are less reliable.

Expected behavior

  • The beforeinput event should be supported in all modern browsers.
  • The event should fire before input is committed to the DOM.
  • It should provide a way to prevent or modify the default input behavior.

Playground for this case

Use the reported environment as a reference and record what happens in your environment while interacting with the editable area.

Reported environment
OS: macOS Ubuntu 22.04
Device: Desktop or Laptop Any
Browser: Safari 120.0
Keyboard: US
Your environment

Use this editable area to reproduce the described case.

Event log
Use this log together with the case description when filing or updating an issue.
0 events
Interact with the editable area to see events here.