Курсор в designMode
Здравствуйте. Есть iframe в режиме desingMide = 'on'. Есть кнопка, при нажатии на нее в iframe вставляется текст. После вставки курсор всегда становится в начало iframe. как можно сделать так чтобы он оставался в конце вставленного текста? Как его вообще можно позиционировать курсор в этом режиме. Я понял уже что нужно это реализовывать с помощью Range, только как? Я пробовал выбирать текст в ноде и сворачивать все к конечной точке, добился только того что курсор начал после вставки перескакивать в самый конец iframe'a. Набросал небольшой тестовый пример для наглядности. Спасибо.
<html>
<head>
<title>Expl</title>
<script type = "text/javascript">
function initDesign() {
var iFrame = document.getElementById("content");
var iDoc = iFrame.contentDocument;
iDoc.designMode = 'on';
}
function pasteText() {
var iFrame = document.getElementById("content");
var iDoc = iFrame.contentDocument;
iDoc.body.innerHTML += "Checking";
iFrame.focus();
}
</script>
</head>
<body onload = "initDesign()">
<button id = "button" onclick = "pasteText()">Paste Text</button>
<br />
<iframe id = "content">
</iframe>
</body>
</html>
|
Курсор (каретка) рассматривается, как схлопнутое выделение.
Ставите начало и конец Range в одну точку в нужном месте (http://fastcoder.org/articles/?aid=609) и выделяете его: var sel = getSelection(); sel.removeAllRanges(); sel.addRange(range); iFrame.focus() сбрасывает выделение в некоторых браузерах. |
| Часовой пояс GMT +3, время: 09:07. |