2016-04-13 3 views
3

Я хотел знать, можно ли получить размер (ширину и высоту) синего поля, который появляется при выборе текста. Get selection text width height and sizeКак получить размер синего текста?

+0

Что вы попробовали? – Xzandro

+0

Пока ничего. Я не знаю, как это сделать. Я все еще новичок в программировании. –

ответ

1

document.getElementById("area").addEventListener("mouseup", function() { 
 
    var bcr = getSelection().getRangeAt(0).getBoundingClientRect(); 
 
    document.getElementById("info").innerHTML = "W: "+ bcr.width +' H:'+ bcr.height; 
 
}, false);
<div id="area"> 
 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat consectetur incidunt vel praesentium cum blanditiis tempora doloribus culpa odit! Labore at cum ad, voluptas nobis nam iste non omnis vitae? 
 
</div> 
 
<b id="info"></b>

Так после того, как вы получили диапазон отбора в .getBoundingClientRect() в bcr переменной, которую можно извлечь из этого момента любое значение, что этот метод обеспечивает такие как

ширина, высота, верхняя, левая, правая, нижняя

https://developer.mozilla.org/en/docs/Web/API/Element/getBoundingClientRect

+0

Спасибо за ваш ответ Roko, но я надеялся, что смогу получить размеры выбора, поскольку я выбрал текст. Например, я выбираю слово «текст», и он дает мне размер окна выбора для этого текста, но он должен работать для каждого текста, который я выбираю. Если есть способ поместить выделенный текст в промежуток, чем он будет работать. –

+0

@HebertAG OK отредактировал мой ответ, в любом случае используйте '.getBoundingClientRect()' :) –

+0

Это именно то, что я искал. Благодаря! Знаете ли вы, есть ли способ, которым я мог бы также получить позицию окна выбора (x и y)? Это просто из любопытства, я хотел только размеры. –

Смежные вопросы