This was originally filed as a https://issues.chromium.org/40718667.
On investigation, I found two behaviors:
| Browser |
Behavior |
| blink / webkit |
Fired on mousedown. |
| gecko |
Fired when mouse moves starting a selection range. |
I'm not sure if the selectstart specification clearly indicates one behavior is correct. Regardless though, given we don't have consistency we can probably go either way. One implication of the difference is that on browsers which fire on mousedown if you call preventDefault:
- you can prevent your previous selection from changing, and
- you can prevent inserting a cursor into a contenteditable from succeeding.
What do we expect the behavior to be?