powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / перехват событий
14 сообщений из 14, страница 1 из 1
перехват событий
    #35279918
rutz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте.
в input есть какой то текст. кусок этого текста выделен. при нажатии на стрелку вверх и вниз вызываются соответсвующие функции. при этом выделение с текста убирается.
а теперь внимание вопрос: как сделать так что бы выделение c текста не убиралось?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
<html>
<head>
<style type="text/css">
#main{width:200px;height:200px;border:1p dashed black;overflow-y:auto}
.sel{background-color:gray;color:red;height:20px;cursor:hand}
.unsel{background-color:white;color:black;height:20px;cursor:hand}
</style>
<script language="JavaScript" type="text/JavaScript">
var inx= 0 ;
function getObj(id){return self.document.getElementById(id);}
function downspis(){
	if(!getObj(inx+ 1 )) return;
	if(getObj(inx)) getObj(inx).className="unsel";
	getObj(inx+ 1 ).className="sel";
		getObj(inx+ 1 ).scrollIntoView(false);
	inx++;
	return;
}
function upspis(){
	if(!getObj(inx- 1 )) return;
	if(getObj(inx)) getObj(inx).className="unsel";
	getObj(inx- 1 ).className="sel";
		getObj(inx- 1 ).scrollIntoView();
	inx--;
	return;
}
function run(event){
	if(event.keyCode== 13 ) {
		if(!getObj(inx)) return;
		getObj("txt").value=getObj(inx).innerHTML;
	}
	if(event.keyCode== 40 ) downspis();
	if(event.keyCode== 38 ) upspis();
	return false;
}
</script>
</head>
<body bgcolor="#ffffff">
<input type="text" id="txt"  onKeyDown="run(event);"/>
<div id="main">
	<div id="1" class="unsel"> Див номер  1 </div>
	<div id="2" class="unsel"> Див номер  2 </div>
           ......
	<div id="33" class="unsel"> Див номер  33 </div>
	<div id="34" class="unsel"> Див номер  34 </div>
</div>
</body>
</html>
приветствуются все возможные ответы;-)
...
Рейтинг: 0 / 0
перехват событий
    #35279933
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rutzкак сделать так что бы выделение c текста не убиралось?
Это "стандартная" реакция "полей для ввода" снимать выделение по нажатию кнопок "навигации"...

Как вариант вызывать нужное "действо" по другим событиям...
...
Рейтинг: 0 / 0
перехват событий
    #35279943
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rutz , а какова цель? Вчем состоит задача всей страницы?
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
перехват событий
    #35279950
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЭто "стандартная" реакция "полей для ввода" снимать выделение по нажатию кнопок "навигации"...
Неправда. Выделение снимается только в ИЕ. Но! В ИЕ есть вожможность оперировать объектом selection!
...
Рейтинг: 0 / 0
перехват событий
    #35279960
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeНеправда.
Я мало знакм с другими браузерами... Т.ч. спорить не стану.
...
Рейтинг: 0 / 0
перехват событий
    #35279970
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЯ мало знакм с другими браузерами...
Только что скопипастил код и проверил в фирефоксе и опере.
...
Рейтинг: 0 / 0
перехват событий
    #35280013
rutz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa rutz , а какова цель? Вчем состоит задача всей страницы?
цель: див main будет заполняться данными с сервера по мере ввода пользователем строки в поле ввода и как вариант будет придлагаться запись, начало которой соответсвует тексту введеному пользователем а остальной кусок записи(если он есть) будет выделен. (например: ива нов ). в этот момент позволить пользователю перемещаться в спеске вверх и вниз. вот здесь как раз выделение слетает.
...
Рейтинг: 0 / 0
перехват событий
    #35280026
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да проверяй какая клавиша нажата, если стрелки - ретурн фалсе и всех делов.
...
Рейтинг: 0 / 0
перехват событий
    #35280038
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeТолько что скопипастил код и проверил в фирефоксе и опере.
Т.е. там не снимается? Буду иметь ввиду...
...
Рейтинг: 0 / 0
перехват событий
    #35280055
rutz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeДа проверяй какая клавиша нажата, если стрелки - ретурн фалсе и всех делов.
вот именно что если стрелка я вызываю свою функцию
Код: plaintext
1.
2.
           if(event.keyCode== 40 ) downspis();
	if(event.keyCode== 38 ) upspis();
	return false;
а после этого выделение снимается
...
Рейтинг: 0 / 0
перехват событий
    #35280068
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaТ.е. там не снимается?
Там не снимается. В эксплорере - тоже, если ретурн фальсе. Пускай топегстартер код подправит, чтобы функция нужный ретурн давала. И свою функцию вызывает типа onkeydown="return run(event);"
...
Рейтинг: 0 / 0
перехват событий
    #35280087
rutz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeтопегстартер
чевой?
...
Рейтинг: 0 / 0
перехват событий
    #35280129
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rutzчевой?
Вот так напиши:
Код: plaintext
onKeyDown="run(event); if((event.keyCode==40)||(event.keyCode==38)) return false; return true;"
...
Рейтинг: 0 / 0
перехват событий
    #35280220
rutz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо спасибо. разабрался уже. все работает как надо:). поблагодарить не успел интернет вырубался:(
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / перехват событий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]