Limited availability
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The updateSelection()
method of the EditContext
interface updates the internal state of the selection within the editable text context. This method is used to update the selection state when the user interacts with the text rendering in the EditContext
's associated element, such as by clicking or dragging the mouse, or by using the keyboard.
updateSelection(start, end)
Parameters
start
A number representing the new selection start.
end
A number representing the new selection end. If the start
and end
values are the same, the selection is equivalent to a caret.
None (undefined
).
TypeError
Thrown if the method is called with fewer than two arguments, or if either argument is not a non-negative number.
This example shows how to use the updateSelection
method to update the selection in the EditContext
of a canvas
element when the arrow keys are used to move the caret or select text in the editable region.
<canvas id="editor-canvas"></canvas>
const canvas = document.getElementById("editor-canvas");
const editContext = new EditContext();
canvas.editContext = editContext;
canvas.addEventListener("keydown", (e) => {
if (e.key === "ArrowLeft") {
const newPosition = Math.max(editContext.selectionStart - 1, 0);
if (e.shiftKey) {
editContext.updateSelection(newPosition, editContext.selectionEnd);
} else {
editContext.updateSelection(newPosition, newPosition);
}
} else if (e.key === "ArrowRight") {
const newPosition = Math.min(
editContext.selectionEnd + 1,
editContext.text.length,
);
if (e.shiftKey) {
editContext.updateSelection(editContext.selectionStart, newPosition);
} else {
editContext.updateSelection(newPosition, newPosition);
}
}
console.log(
`The new EditContext selection is ${editContext.selectionStart}, ${editContext.selectionEnd}`,
);
});
Specifications Browser compatibility See also
EditContext
interface it belongs to.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4