Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2010, 17:43
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Как работать со startContainer, endContainer и подобным?
Как работать со startContainer, endContainer и подобным?

В Гугле всё на английском и примеры какие-то непонятные.
Нужно, чтобы можно было выделить текст на страничке, кликнуть на кнопку, и получить тег, в котором находится первая буква выделенного текста. Вроде это через startContainer делается. Но как - не могу понять.
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2010, 18:42
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Например:
alert(window.getSelection().startContainer);


Не работает. Чего им надо? Вот получили выделение getSelection, вот хочу получить startContainer - не дают. Пишу commonAncestorContainer - тоже не дают. Ничего не дают.
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2010, 18:49
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

плохие какие не дают и все…



Сообщение от Бобр
lert(window.getSelection().startContainer);
Selection и Range разные вещи, а еще есть TextRange.

Последний раз редактировалось Octane, 06.02.2010 в 18:57.
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2010, 19:45
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Сообщение от Octane Посмотреть сообщение
плохие какие не дают и все…

Selection и Range разные вещи, а еще есть TextRange.
Там написано startContainer - это свойства или метод Range. Чтобы получить Range нужно знать тег, который у них обозначен 'ex2' ...

$domRange = {
    create : function() {
        // Найдем root-контейнер
        var root =  document.getElementById('ex2');
            var rng = root.createRange();


То есть чтобы узнать тег, нужно знать тег ...


Можно просто одной строчкой кода, как мне узнать тег в котором находится первая выделенная буква?
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2010, 20:04
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

window.getSelection().getRangeAt(0).startContainer
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2010, 20:15
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

http://immelman.ru/bookmarklets/selected.js

Можете поковырять, вдруг, Вам пригодится что-нибудь оттуда.

Сразу предупрежу, букмарклет кривой до ужаса — написан за пару часов в свободное время, — но со своей основной задачей (не обучать дизайнеров работе с Dragonfly ) он справляется.
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2010, 20:47
Кандидат Javascript-наук
Отправить личное сообщение для Бобр Посмотреть профиль Найти все сообщения от Бобр
 
Регистрация: 03.11.2008
Сообщений: 116

Сообщение от Octane Посмотреть сообщение
window.getSelection().getRangeAt(0).startContainer
Спасибо.

Замучился с этой проблемой.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Как работать с dojo.xhrGet() vadimas Dojo toolkit 3 13.10.2011 18:07
Как заставить работать оперу и мозилу? SDone AJAX и COMET 6 25.02.2009 16:05
как работать только с областью... ALIENka Общие вопросы Javascript 2 06.10.2008 09:19
Как работать с textarea которая TinyMCE? qsajeal Общие вопросы Javascript 1 23.08.2008 16:39