Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2010, 13:07
Новичок на форуме
Отправить личное сообщение для tito_spades Посмотреть профиль Найти все сообщения от tito_spades
 
Регистрация: 13.07.2010
Сообщений: 1

Курсор в 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>
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2010, 16:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Курсор (каретка) рассматривается, как схлопнутое выделение.

Ставите начало и конец Range в одну точку в нужном месте (http://fastcoder.org/articles/?aid=609) и выделяете его:
var sel = getSelection();
sel.removeAllRanges();
sel.addRange(range);


iFrame.focus() сбрасывает выделение в некоторых браузерах.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление курсором в designMode BreatheInTheVoid Элементы интерфейса 4 15.06.2010 12:17
определить где курсор olgatcpip Общие вопросы Javascript 5 27.04.2010 09:59
Как изменить курсор в браузере на свой? Hideki Элементы интерфейса 2 21.11.2009 17:47
Как переместить курсор внутри тегов? alex-v Javascript под браузер 8 29.08.2009 23:07
iFrame designMode = on и OnBeforePaste Dmitry Общие вопросы Javascript 1 26.08.2008 13:37