Получение DOM textnode положение

17
задан animuson 16 October 2013 в 17:41
поделиться

3 ответа

Не непосредственно. TextNode не имеет смещения первоначально-IE* (и подобный) расширения для измерения расположения на области просмотра.

На IE только, Вы могли создать объект TextRange, старательно попытаться выровнять его с границами TextNode, затем измерить boundingLeft/boundingTop TextRange и добавить его к положению родительского элемента (полученный обычными средствами). Однако это - набор работы для потенциально шаткого решения единственного браузера.

Другой подход, который Вы могли бы быть в состоянии сойти с рук, будет обертывать текст в элемент промежутка (или в документе, или динамично и/или временно сценарием), и использовать промежуток для измерения расположения, предполагая, что это не берет дополнительных стилей, которые могут влиять на положение. Обратите внимание однако, что обернутый промежуток не может дать ожидаемое право/минимальные значения; в зависимости от того, что Вы хотите сделать с ним, Вы могли бы закончить тем, что обернули первый и последний символ или некоторое другое расположение.

, Таким образом: urgh, ничто хорошее.

14
ответ дан 30 November 2019 в 14:06
поделиться

Взгляните на эта статья - она использует offsetParent свойство для рекурсивного выяснения смещения.

я всегда рекомендовал бы jQuery по прокрутке Ваших собственных методов для варьирующегося по браузеру материала как это. функции CSS jQuery , кажется, имеют методы, в которых Вы нуждаетесь!

0
ответ дан 30 November 2019 в 14:06
поделиться

Нет никого встроенного, перекрестный браузер способ сделать это. Я использовал бы jQuery с плагином Размеров: http://brandonaaron.net/docs/dimensions/

Это - перекрестный браузер и даст Вам высоту, ширину и x & y смещения, среди других.

0
ответ дан 30 November 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: