Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определить на каком элементе курсор, designMode=on 
:(
    Опции темы
BuTbKa_ua
Дата 12.10.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2006

Репутация: нет
Всего: нет



Всем доброго времени суток. Назрел очередной вопрос.
Нужно определить на каком HTML элементе находить курсор в IFRAME с designMode='on'
Проблема получения элемента возникла в FF. Вот код:
Код

var Cursor = function(container) {
    this.container = container;
    this.win = container.ownerDocument.defaultView;
    var selection = this.win.getSelection();
    var range = selection.getRangeAt(0);
    var end = range.endContainer;
    if (end.nodeType == 3){
        var node = end;
        node = node.parentNode;
        this.currNode = node; 
    }
}


В конструктор приходит ссылка на <BODY> элемент в окне IFRAME
end - node на котором находится курсор, в 99,9% случаев это textNode (nodeType=3)
мне нужно узнать к какому HTML элементу относится этот textNode, я пытаюсь получить parentNode этого textNode, но иногда получаю undefined, например если в IFRAME такой код:
Код

<span class="anotherText">T</span><br />

и курсор находится на букве T (nodeValue=T)
когда код уже 
Код

<span class="anotherText">TE</span><br />

(nodeValue=TE), тогда я получаю нужный мне SPAN элемент.


Это DOM спецификация? или есть другие способы получить нужный элемент?
Спасибо за внимание.



Это сообщение отредактировал(а) BuTbKa_ua - 12.10.2007, 18:44
PM MAIL   Вверх
cruelangel
Дата 12.10.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



видимо потому, что в первом случае end.nodeType != 3
PM MAIL   Вверх
BuTbKa_ua
Дата 12.10.2007, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2006

Репутация: нет
Всего: нет



да нет. Там nodeType=3
Я чуть ошибся не undefined выдает, а возвращает BODY или HTML
PM MAIL   Вверх
cruelangel
Дата 13.10.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



а, ну тогда всё просто - в первом случае в некоторых браузерах курсор ставится перед <br>, но после </span>, соответственно контейнером является элемент содержащий их обоих
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.