SVGTextContentElement: метод getCharNumAtPosition()
Линия основания Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Метод getCharNumAtPosition() интерфейса SVGTextContentElement представляет собой символ, который вызвал отображение глифа текста в заданной позиции в системе координат. Поскольку взаимосвязь между символами и глифами не является однозначной, возвращается только первый символ соответствующего типографского символа.
Если символ не найден в указанной позиции, возвращается -1.
Синтаксис
SVGTextContentElement.getCharNumAtPosition(point)
Параметры
Возвращаемое значение
Целое число; индекс символа, соответствующий позиции.
Примеры
Поиск символа в определенной позиции
<svg width="200" height="100"> <text id="exampleText" x="10" y="40" font-size="16">Hello, SVG World!</text> </svg>
const textElement = document.getElementById("exampleText");
// Create a DOMPoint for the position (30, 40)
const point = new DOMPoint(30, 40);
// Get the character at the specified position
const charIndex = textElement.getCharNumAtPosition(point);
console.log(charIndex); // Output: 2 (for character "l")
// Check with a point where no character is present
const offPoint = new DOMPoint(300, 40);
const offCharIndex = textElement.getCharNumAtPosition(offPoint);
console.log(offCharIndex); // Output: -1 (no character found)
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getCharNumAtPosition |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getCharNumAtPosition