- From: Zhou Shuangshuang <notifications@github.com>
- Date: Mon, 20 Jan 2025 00:05:35 -0800
- To: w3c/selection-api <selection-api@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/selection-api/issues/344@github.com>
The `selectionchange` event behaves inconsistently across browsers when a new `<input>` element is added to the document. Specifically, there is a difference between Chrome and Firefox/Safari regarding whether the event is triggered when an `<input>` element is created and is not focused. - **Chrome**: When going to a page with a `<input>` element, the `selectionchange` event is always triggered once, regardless of whether the `<input>` element is focused or not. - **Firefox/Safari**: The `selectionchange` event is not triggered unless the newly added <input> element is focused like we manually choose it by the mouse. see the below simple case (contributed by joe@udecode.dev in chromium issue@[389368412](https://issues.chromium.org/issues/389368412)): ``` <html> <head> <script> let appendingInput = false; const appendInput = () => { appendingInput = true; const input = document.createElement('input'); input.value = 'Bug: Adding an input element with a value to the DOM triggers selectionchange'; document.body.appendChild(input); setTimeout(() => { appendingInput = false; }); }; document.addEventListener('selectionchange', (event) => { // Only show the message in response to the bug if (appendingInput) { console.warn('selectionchange while appending input', event); } }); </script> </head> <body> <button type="button" onclick="appendInput()">Append input</button> </body> </html> ``` Do we need to align the expected behavior of this situation? Thanks! -- Reply to this email directly or view it on GitHub: https://github.com/w3c/selection-api/issues/344 You are receiving this because you are subscribed to this thread. Message ID: <w3c/selection-api/issues/344@github.com>
Received on Monday, 20 January 2025 08:05:39 UTC