Easily get the bounds of a selection in a textarea or text input element.
textarea-selection-bounds is a simple library that allows you to get the bounds of a selection in a textarea or text input element. It is written in TypeScript and has no dependencies. It is perfect to overlay content on top of a textarea or text input element that should follow the selection.
top
& left
are the coordinates of the top-left corner of the selection. They are relative to the window (fixed). width
& height
are the dimensions of the selection.
position
of the element to fixed
and use the top
and left
values from the bounds object.
See the Codepen for a live demo.
✅ Get top, left, width, and height of a selection in a textarea or text input element.
✅ Zero dependencies.
✅ Strongly typed.
pnpm i textarea-selection-bounds
// or
yarn add textarea-selection-bounds
// or
npm i textarea-selection-bounds
import { TextareaSelectionBounds } from "./textarea-selection-bounds";
const textArea = document.querySelector('textarea');
if (textArea) {
const bounds = new TextareaSelectionBounds(textArea);
console.log(bounds.getBounds());
}
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Janik Schumacher - @LoaderB0T - linkedin
Project Link: https://github.com/LoaderB0T/textarea-selection-bounds