selectNode () не работает в IE8 - PullRequest
0 голосов
/ 04 марта 2011

Мне нужно выбрать узел в крошечном mce, я пытаюсь следующий код.Он работает в браузерах не IE, но в IE выдает ошибку как - Ошибка: объект не поддерживает это свойство или метод

Код -

              rng = ed.selection.getRng();
              rng.selectNode(tn);

Вторая строка вызывает ошибку.Есть ли другой метод, совместимый с IE для этого?

Ответы [ 2 ]

0 голосов
/ 04 марта 2011

Я прочитал об объекте TextRange и смог сделать то, что хотел. Я хотел установить курсор внутри пролета. Я мог бы сделать это, используя свойства и методы объекта TextRange следующим образом -

range.moveToElementText (node); //node is  the span in which I wanted to place my cursor
range.select ();

moveToElementText - выравнивает начальную и конечную точки текущего объекта TextRange по текстовому содержимому указанного элемента. Я добавил nbsp; на промежуток и с вышеуказанным кодом может заменить его, моя карета.

0 голосов
/ 04 марта 2011

Причиной этого является другой объект диапазона, который вы получаете.В FF вы получаете объект, который предлагает вам несколько функций, таких как selectNode().В диапазоне IE представлен только текстовый объект, который содержит только свойства.

Решение проблемы простое:

// true is important here - causes getRng to return a DOM Range and not a text range (IE)
rng = ed.selection.getRng(true);
rng.selectNode(tn);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...