Выделение текста на FF

Aly

Новичок
Выделение текста на FF

Добрый день.

Возможно ли как ни будь, выделить текст на FF через JS.
На IE , такой script выглядел бы ка нить так:
PHP:
var rng = document.body.createTextRange();
  rng.moveToElementText(document.getElementById('myelement'));
  rng.findText('SearchString');
  rng.select();
идеи?
 

vd

Новичок
Можно:
Например:

oRange = document.createRange();
oRange.setStart(domElement,ind);
oRange.setEnd(domElement,ind+amount);

//Now highlight using Mozilla style selections
var wordSelection = window.getSelection();
wordSelection.removeAllRanges();
wordSelection.addRange(oRange);

Можно выделять и целиком элементы и много чего другого:) - посмотри методы Range object-а.
 

Aly

Новичок
Читал про Range.. и либо я чего то не замичаю , но найти метод у этого обьекта чтоб выбрать часть текста, а не целый элемент я не нахожу(подавать на 0-ой аргумент в метод setStart тип string низяяяя, вылетает с ошибкой),а мне то и нужно выделить часть текста в таблице :/
 

vd

Новичок
Автор оригинала: Aly
подавать на 0-ой аргумент в метод setStart тип string низяяяя, вылетает с ошибкой :/
само собой нельзя. Что такое для Range object будет значить строка?

Вот этим кодом можно выделить произвольный кусок текста (слово например):

Код:
var word = "bla-bla-bla"; //то что нужно найти
var amount = word.length;
var value = new RegExp(word,"i");
//obj - текстовая ветка согласно DOM-структуре (nodeType = 3)
var ind = obj.nodeValue.search(value);
oRange = document.createRange();				
oRange.setStart(obj,ind);
oRange.setEnd(obj,ind+amount);
//Now highlight using Mozilla style selections
var wordSelection = window.getSelection();
wordSelection.removeAllRanges();
wordSelection.addRange(oRange);
Есть аналогичный код и для IE.
 

Aly

Новичок
Я так понимаю для FF это надо через DOM писать.. (ехх через одно место это как то), но всё же спасиба!
 

vd

Новичок
Да ладно уж. DOM - это не одно место - это стандарт. Это IE выбивается из него по всем параметрам :)
 

Aly

Новичок
IE - используют 90% юзверей, так что, это еще подумать надо, кто задаёт стандарты.. :p
 

vd

Новичок
Автор оригинала: Aly
IE - используют 90% юзверей, так что, это еще подумать надо, кто задаёт стандарты.. :p
Стандарт задает:
Спецификация DOM Level 2 Events

Кроме того 90% - старые данные да и сбрасывать со счетов остальных - слишком губительно для ресурсов.
 
Сверху