Показать сообщение отдельно
  #1 (permalink)  
Старый 31.08.2008, 15:46
romix
 
Сообщений: n/a

Как сделать find() в Opera?
Приведенный ниже код нормально работает в FireFox (с закомментированными изменениями - в IE). Находит нужную подстроку в textarea и выделяет ее. Не получается это сделать в Opera (там вообще что ли этого метода нет?).

Мне надо подсвечивать некоторый текст в поле ввода, так чтобы окно прокручивалось именно туда (setSelectionRange выделяет, но не прокручивает).


<html>
<head>
</head>
<body>
<input type="submit" value="TestFind" onClick="XRomix_TestFind()" />
<br/>

<textarea id="wpTextbox1" cols="80" rows="25">
01234
56789
abcde
fghij
</textarea>

<script>

function xfind(input, text) {
input.focus();
input.setSelectionRange(0, 0);
var caseSensitive = false // is search case sensitive?
var backwards = false //should we also search backwards?
var wrapAround = true // should we wrap the search?
find(text, caseSensitive, backwards, wrapAround);
// Для IE:
// input.focus();
// var oRange = input.createTextRange();
// if (oRange.findText(text)){
// oRange.select();
// }
};


function XRomix_TestFind(){
var wpTextbox1 = document.getElementById('wpTextbox1');
xfind(wpTextbox1, "abcd");
}
</script>
</body></html>
Ответить с цитированием