- From: Justin Fagnani <notifications@github.com>
- Date: Thu, 02 May 2024 10:24:43 -0700
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/issues/1286@github.com>
### What problem are you trying to solve? `elementsFromPoint()` allows us to utilize the browsers hit-testing get all elements under a specific coordinate. This is great for things like interactive editors that use DOM elements as the editable objects. But such editors often have other kinds of selection gestures than just a single click that selects at a single coordinate. Often we'll have click-and-drag gestures for selecting all elements under a rectangular window. Some editors will have a lasso tool that lets users draw an irregular selection window. `elementsFromPoint()` is insufficient for these cases. ### What solutions exist today? There are two rough approaches I know of for finding all elements under a rect: 1. Call `elementsFromPoint()` repeatedly in a grid pattern. This uses the native hit-testing mechanism, but it can obviously miss elements that fall between the grid points. 2. Re-implement hit testing and crawl the entire DOM looking for intersecting elements. This is very difficult and prone to error. ### How would you solve it? Add `elementsFromRect()` (and possibly `elementsFromPath()`) that return all elements intersecting the given rect. ### Anything else? _No response_ -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/dom/issues/1286 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/dom/issues/1286@github.com>
Received on Thursday, 2 May 2024 17:24:47 UTC