Javascript.RU

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

Координаты выделенного слова или координаты после двойного нажатие на слово
Задача состоит в том, что мне нужно после двойного нажитя на слово вивести над ним окошко.
По идеи мне нужно узнать координаты этого слова...
Пробовал сделать через createRange, но он по ходу не на всех браузерах работает
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2013, 14:10
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

Сообщение от olexand777
Задача состоит в том, что мне нужно после двойного нажитя на слово вивести над ним окошко.
По идеи мне нужно узнать координаты этого слова...
Пробовал сделать через createRange, но он по ходу не на всех браузерах работает
а координаты курсора, при двойном клике, значит не находятся над словом , и не входят в диапазон занимаемый словом?
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2013, 14:37
Интересующийся
Отправить личное сообщение для olexand777 Посмотреть профиль Найти все сообщения от olexand777
 
Регистрация: 27.11.2012
Сообщений: 27

Канечно входять, но я же не знаю сам размер текста, его длину...
Мне нужно чтобы ококшко было четко над текстом...
У меня уже по сути задача такого, чтобы окутать слово, по которому я кликунул, в какой-то <span>. Помогите уже єто реализовать...
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2013, 17:04
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

Сообщение от olexand777
У меня уже по сути задача такого, чтобы окутать слово, по которому я кликунул, в какой-то <span>. Помогите уже єто реализовать...
1 тебе никто не обязан.

получи выделенный текст
найди его в документе регуляркой, или методом поиска подстроки
Замени найденное, тем что искал ,обёрнутым в span
Получи верхнюю границу span
всё

Последний раз редактировалось dmitriymar, 25.03.2013 в 17:06.
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2013, 17:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В хроме работает:
<!DOCTYPE html>
<style>
    span{
        background: rgba(214, 255, 0, 0.67);
    }
</style>
<p>Кликни по любому слову!</p>
<script>
    document.ondblclick = function() {
        var selection = getSelection();
        if (selection.type == 'Range' && selection.rangeCount > 0) {
            var range = selection.getRangeAt(0);
            range.surroundContents(document.createElement('span'));
        }
    }
</script>

Кстати в нем также есть getBoundingClientRect
Ответить с цитированием
  #6 (permalink)  
Старый 25.03.2013, 18:48
Интересующийся
Отправить личное сообщение для olexand777 Посмотреть профиль Найти все сообщения от olexand777
 
Регистрация: 27.11.2012
Сообщений: 27

Спасибо большое...

Последний раз редактировалось olexand777, 28.03.2013 в 12:00.
Ответить с цитированием
  #7 (permalink)  
Старый 25.03.2013, 19:14
Интересующийся
Отправить личное сообщение для olexand777 Посмотреть профиль Найти все сообщения от olexand777
 
Регистрация: 27.11.2012
Сообщений: 27

danik.js,
Я уже задолбал вас, извинните пожалуйста, но хочу еще спросить есть что-то что противоположно surroundContents?
Ответить с цитированием
  #8 (permalink)  
Старый 25.03.2013, 19:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от olexand777
есть что-то что противоположно surroundContents?
Это как?
Ответить с цитированием
  #9 (permalink)  
Старый 25.03.2013, 21:14
Интересующийся
Отправить личное сообщение для olexand777 Посмотреть профиль Найти все сообщения от olexand777
 
Регистрация: 27.11.2012
Сообщений: 27

danik.js,
что бы после того як я все сделаю... убрать span, который утворился там...
Ответить с цитированием
  #10 (permalink)  
Старый 26.03.2013, 05:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Что-то типа
span.parentNode.replaceChild(span, document.createTextNode(span.textContent || span.innerText || ''))

Может быть можно иначе сделать.
Ответить с цитированием
Ответ



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

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