Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как сделать find() в Opera? (https://javascript.ru/forum/events/1665-kak-sdelat-find-v-opera.html)

romix 31.08.2008 15:46

Как сделать 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>


Часовой пояс GMT +3, время: 08:15.