Это «сырой код» работает по крайней мере, в IE.
Используя код, вы можете поместить свой <TEXTAREA>
, где бы вы ни захотели на странице, и за ним последует <DIV id="db">
. Даже несмотря на прокручиваемое положение страницы. Вы можете исправить положение <DIV>
, изменив литеральные номера на d.style...6
-statements.
<body>
<div id="db" style="position:absolute;left:-20px;top:-20px;border:1px solid red;">V</div>
<br><br><br>
<form id="props">
<textarea id="ta" style="width:200px;height:100px;" onkeyup="moveDiv();"></textarea>
</form>
<script>
<!--
var b=document.body;
var d=document.getElementById('db');
var a=document.getElementById('ta');
function moveDiv(){
var sel=document.selection;
var targ=sel.createRange();
d.style.top=a.offsetTop+a.clientTop-d.clientHeight-6;
d.style.left=targ.offsetLeft+b.scrollLeft-6;
return;
}
// -->
</script>
</body>
Позиционирование <DIV>
не совсем точно, но становится лучше при использовании фиксированной ширины шрифта в <TEXTAREA>
.
Приблизительно '42' pixies. – alex
Спасибо за разъяснение: P – alex
Возможно, вас заинтересует [любое количество этих вопросов] (http://stackoverflow.com/search?q=caret+javascript+position+x+y). –