- From: Zhou Shuangshuang <notifications@github.com>
- Date: Wed, 31 Jan 2024 21:08:41 -0800
- To: w3c/selection-api <selection-api@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Thursday, 1 February 2024 05:08:48 UTC
Hello!
We may consider to skip posting a task for the `selectionchange` event in some specific cases like:
- Skip posting a task for `selectionchange` event if there are no registered listeners;
- Skip posting a task for `selectionchange` event if the UA already has an queued task for an equivalent `selectionchange` event;
Here is a simple case when we don't have any registered listener:
```
<!DOCTYPE html>
<html>
<form>
<div>
<input
class="toggle-all"
type="text"
id="inputtext"
name="subscribe"
value="hello world"/>
</div>
</form>
<script>
var tx = document.getElementById("inputtext");
tx.focus();
for (var i = 0; i < 100; i++) {
console.time("set value");
tx.value = 'something to do ' + i;
console.timeEnd("set value");
}
</script>
</html>
```
Based the below chrome trace, it is noticed that although we don't register any listener, it still posts an async task when we are just changing the text value.

--
Reply to this email directly or view it on GitHub:
https://github.com/w3c/selection-api/issues/170
You are receiving this because you are subscribed to this thread.
Message ID: <w3c/selection-api/issues/170@github.com>
Received on Thursday, 1 February 2024 05:08:48 UTC