Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.04.2011, 22:19
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

monolithed,
Это я знаю, я говорил
Сообщение от poorking
если речь идет об Element (nodeType 1)
Но все равно спасибо
__________________
readOnly
Ответить с цитированием
  #12 (permalink)  
Старый 30.04.2011, 22:37
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от poorking Посмотреть сообщение
trikadin,
Вы правы, но лучше уж тогда назначить обработчик на документ, смотреть на чем был клик и если на ссылке то принимать соответствующие меры, я думаю так лучше чем вешать обработчик на каждую ссылку
document.onclick = function(e){
		var trg = function(event){
			return event.target || event.srcElement;
		}(e || window.event)
		
		if(trg.tagName = "A"){
			doSomething(trg.href);
			return false;
		}
		
		
	}
Вот вообще не увидел каких-либо преимуществ вашего кода. Во-первых, каждый при клике браузер должен будет проверять, а не ссылке ли чел щёлкнул. А зачем? Это было бы понятно для больших AJAX-проектов, в нашем же случае ссылка уникальна, а следовательно, обработчик имеет смысл назначать только ей.
Ответить с цитированием
  #13 (permalink)  
Старый 30.04.2011, 22:55
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

trikadin,
Если ссылка одна то несомненно. А если новостная лента автоподгружающаяся аля фкантакте и их 100? вы каждой напишете свойство onclick?
PS тут где то есть похожая тема и я запутался, здесь да, ссылка одна. Виноват, каюс
__________________
readOnly
Ответить с цитированием
  #14 (permalink)  
Старый 01.05.2011, 00:28
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от poorking
Если ссылка одна то несомненно. А если новостная лента автоподгружающаяся аля фкантакте и их 100? вы каждой напишете свойство onclick?
Сообщение от trikadin
Это было бы понятно для больших AJAX-проектов
Собственно, я и говорю))

Сообщение от poorking
тут где то есть похожая тема и я запутался, здесь да, ссылка одна.
Никаких претензий)
Ответить с цитированием
  #15 (permalink)  
Старый 01.05.2011, 20:17
Интересующийся
Отправить личное сообщение для alex_89 Посмотреть профиль Найти все сообщения от alex_89
 
Регистрация: 30.04.2011
Сообщений: 23

Вы совсем запутали меня! Ссылка единственная, и сайт у меня с не большим контентом!!!!А фишка про переход на другую страницу прнравилась.Но все же объясните толком как должно все быть!!!

ВОТ МОЙ СКРИПТ:

<script>
02	function showLoginWindow()
03	 {
04	  document.getElementById("login").style.display="block";
05	  var hs=document.getElementById("hideshow");
06	  hs.innerHTML="Hide";
07	  hs.onclick=hideLoginWindow;
08	 }
09	function hideLoginWindow()
10	 {
11	   document.getElementById("login").style.display="none";
12	   var hs=document.getElementById("hideshow");
13	   hs.innerHTML="Enter";
14	   hs.onclick=showLoginWindow;
15	   hs.style.display="block";
16	  }
17	</script>

HTML:
HTML:

01	<body onload="hideLoginWindow()">
02	<a href="Files/registration.html"> Register</a>
03	<div>
04	  
05	<a style="display: none" id="hideshow" href="#" onclick="showLoginWindow()">Enter</a>
06	  
07	<div id="login">
08	  
09	<FORM action="" method="POST">
10	  Login: <INPUT type="text" name="lgn"><br>
11	  Password: <INPUT type="password" name="pswd"> <br>
12	  <INPUT type="submit" name="enter" value="Enter">
13	 </FORM>
14	</div>
15	  
16	</div>
17	</body>


Напишите полностью страницу пж-та
!!!
Ответить с цитированием
  #16 (permalink)  
Старый 02.05.2011, 16:11
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Вообще, просить написать страницу - наглость. Можно спрашивать. Не понимаешь - уточняй. Не понимаешь совсем - учи матчасть. И не надейся, что в следующий раз тебе ещё раз так помогут.

<html>
<head>
<style>
#login {
	display: none;
}
#login.show {
	display: block;
}
</style>
</head>

<body>
	<a href="Files/registration.html"> Register</a>
	<div>
		<a style="display: none" id="hideshow" href="login.html">Enter</a>
		<!-- login.html - это страница, куда перейдёт пользователь с отключённым javascript -->
		<div id="login">
			<FORM action="" method="POST">
				Login: <INPUT type="text" name="lgn"><br>
				Password: <INPUT type="password" name="pswd"> <br>
				<INPUT type="submit" name="enter" value="Enter">
			</FORM>
		</div>
	</div>
<script src="hideshow_login.js"></script>
</body>
</html>


Содержимое файла hideshow_login.js:

// скрипт должен быть в конце, а не в начале, тогда он будет выполнен после того, как загрузится DOM
	function showLoginWindow()
	{
	document.getElementById("login").className+=" show"; // менять стили через javascript - плохо. Лучше определить отдельный класс
	var hs=document.getElementById("hideshow");
	hs.innerHTML="Hide";
	hs.onclick= function(){hideLoginWindow(); return false};
	};
	
	function hideLoginWindow()
	{
	document.getElementById("login").className.replace(" show", ""); // удаляем класс
	var hs=document.getElementById("hideshow");
	hs.innerHTML="Enter";
	hs.onclick= function() {showLoginWindow(); return false} // меняем обработчик на ссылке
	hs.style.display="block"; // не очень понял, зачем эта строка, поэтому не стал трогать...
	};
	
	document.getElementById("hideshow").onclick= function() {showLoginWindow(); return false}; // вешаем обработчик на ссылку, return false нужен, чтобы не произошло перехода на другую страницу
Ответить с цитированием
  #17 (permalink)  
Старый 04.05.2011, 09:25
Интересующийся
Отправить личное сообщение для alex_89 Посмотреть профиль Найти все сообщения от alex_89
 
Регистрация: 30.04.2011
Сообщений: 23

Большое спасибо за разяснение
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Книга] Stoyan Stefanov, Javascript Patterns Dmitry A. Soshnikov Учебные материалы 20 13.08.2013 11:37
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24