это не сработает так просто, я боюсь.посмотрите на исходный код
, например, setSelectionRange
имеет два утверждения: 1: у него type == "text"
(следовательно, вход) или 2: у него есть свойство .value
, которое он может прочитать.если вы примените это к элементу, который не имеет ни одного, он просто не будет работать.
Вы можете искать идеи в другом месте - например, этот фрагмент кода Дэвида Уолша может быть полезен:
http://davidwalsh.name/text-select-widget
он просто делает:
var getSelection = function() {
return $try(
function() { return window.getSelection(); },
function() { return document.getSelection(); },
function() {
var selection = document.selection && document.selection.createRange();
if(selection.text) { return selection.text; }
return false;
}
) || false;
};
удачи - вот очень элементарный пример, который я собрал на скорую руку, он обеспечивает получение выделения и возможную позицию каретки (на основе последнего символа выбора) в качестве смещения родительского элемента - http://www.jsfiddle.net/82czp/1/