powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / OnMouseOut "перебивает" OnClick
9 сообщений из 9, страница 1 из 1
OnMouseOut "перебивает" OnClick
    #36101502
NeoNazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть задачи:
При наведении курсора на область-она выделяется, при снятии курсора - выделение снимается. (Реализовано)
Нужно чтоб при клике - область выделялась иначе и не срабатывал onmouseout.
Собственно вопрос "Как?".

Заранее благодарю!
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36101740
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое "выделение"? Селект или фокус? Маленький примерчик в несколько строчек можно? Что такое "область" - тоже не понятно. Див что-ли?
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36101741
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что означает при снятии курсора ?
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36102023
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так:
Код: plaintext
1.
2.
3.
4.
<div style="width:100px; height:100px; background:red;"
	 onmouseover="if (!this.clicked) this.style.background='yellow';"
	 onclick="if (!this.clicked) {this.clicked = 1; this.style.background='blue'; } else {this.clicked = 0; this.style.background='yellow';}"
	 onmouseout="if (!this.clicked) this.style.background='red';"
	 ></div>
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36102131
NeoNazgulСуть задачи:
При наведении курсора на область-она выделяется, при снятии курсора - выделение снимается. (Реализовано)
Нужно чтоб при клике - область выделялась иначе и не срабатывал onmouseout.
Собственно вопрос "Как?".

Заранее благодарю!
ИМХО чисто программистская задачка: установить признак, что на области был клик и при onmouseout посмотреть был-ли клик.
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36103309
NeoNazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По сути, область о которой я говорил является одной из частей "дерева" типо проводника.
В общем по коду думаю более понятно будет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
While NOT Tmp.EOF
         Counterr = Counterr +  1 
	If Tmp( "PrChild" ) = "N" Then
	For i =  0  To level
	Response.Write( "    " )
	Next
	Response.Write( "<img src=""img/fold1.gif"">  <b id='" & Parent & "_" & Counterr & "' class='tvd2' style='font-weight: normal;' onMouseOver='JavaScript:SetStyle1();' onMouseOut='JavaScript:SetStyle1();' onClick=""ChangeTerrView1( " & Tmp( "vrn" ) & ", '" & Tmp( "name" ) & "', '" & Tmp( "kodim"&level ) & "', '" & Request( "mode" ) & "', '" & Request( "categ_code" ) & "' )"">" & Tmp( "name" ) & " N</b><br>" & vbCRLF )
	Else
	 For i =  0  To level
	 Response.Write( "    " )
	 Next
	 Response.Write( "<img src=""img/fold1.gif"">  <b id='" & Parent & "_" & Counterr & "' class='tvd2' style='font-weight: bold border: 10;' onMouseOver='JavaScript:SetStyle1();' onMouseOut='JavaScript:SetStyle1();' onClick=""ChangeTerrView1( " & Tmp( "vrn" ) & ", '" & Tmp( "name" ) & "', '" & Tmp( "kodim"&level ) & "', '" & Request( "mode" ) & "', '" & Request( "categ_code" ) & "' )"">" & Tmp( "name" ) & " Y</b><br><div id='" & Parent & "_" & Counterr & "i' style='display:none;'>" & vbCRLF )
	 Call ShowTerrTree( Tmp( "kodim"&level ), level +  1 , Parent & "_" & Counterr )
	 Response.Write( "</div>" & vbCRLF )
	End If
	Tmp.MoveNext
	WEND
И соответственно отдельно в .js идут сами выполняемые по OnMouseOver и OnMuseOut скрипты:
Код: 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.
function SetStyle1() 
{
	 if( event.srcElement.id.substring(  0 ,  3  ) == "map" ) 
	 {
		//if( event.type == "click" )
		//{ document.all( event.srcElement.id ).className = "head3"; }
	   
	    if( event.type == "mouseover" ) 
		{ document.all( event.srcElement.id ).className = "tvd2_over"; } 
		else 
		 { document.all( event.srcElement.id ).className = "tvd2"; }
	 }
}

function ChangeTerrView1( vrn, Terrname, kodim, Mode, categ_code ) {
	try {
//		document.all( "vrnTerr" ).innerText = vrn;
//		document.all( "nameTerr" ).innerText = Terrname;
		
		//document.all( "nameFRAME" ).src="Frame_OV.csp?vrnTerr="+vrn+"&nameTerr="+Terrname+"&mode="+Mode+"&categ_code="+categ_code;
		if( event.type == "click" )
		{ document.all( event.srcElement.id ).className = "head3"; }
		
		if( document.all( event.srcElement.id + "i" ).style.display == "" ) {
			document.all( event.srcElement.id + "i" ).style.display = "none";
		} else {
			document.all( event.srcElement.id + "i" ).style.display = "";
		}
	} catch( e ) {
		//alert( event.srcElement.id );
		//alert( e.message );
		//return - 1 ;
	}
}
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36103321
NeoNazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illion,
Спасибо, сейчас попробую прописать таким образом.

Но в любом случае далее встает следующая проблема: по клику (и соотв. выделении) на другую область, выделение с текущей должно сниматься. Как сделать?
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36105463
NeoNazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Up
...
Рейтинг: 0 / 0
OnMouseOut "перебивает" OnClick
    #36119233
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед кликом установить дефолтовый background для всех элементов типа
выбираемого, т.е. если это таблица то на onclick навесить
1) сделать все строки белые
2) изменить background выделенной строки.
Как то так.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / OnMouseOut "перебивает" OnClick
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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