Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2009, 10:16
Новичок на форуме
Отправить личное сообщение для Askhsiv Посмотреть профиль Найти все сообщения от Askhsiv
 
Регистрация: 23.10.2009
Сообщений: 9

смена onclick'а
Доброго утра всем

помогите разобраться, не работает смена onclick'а в javascript'е

вот код:

function change()
{	
	for (i=1; i<4; i++)
	{
		var div = document.getElementById('div_'+i);
		div.style.background = '#777';
		div.onclick = 'alert("bbb")';
	}
}


и HTML:

<div id="div_1" style="width:50px; height:50px; margin:5px; background:#999; cursor:pointer" onclick="alert('aaa')"></div>
<div id="div_2" style="width:50px; height:50px; margin:5px; background:#999; cursor:pointer" onclick="alert('aaa')"></div>
<div id="div_3" style="width:50px; height:50px; margin:5px; background:#999; cursor:pointer" onclick="alert('aaa')"></div>
            
<div style="width:50px; height:50px; margin:15px 5px; background:#c00; cursor:pointer" onclick="change()">


при нажатии на серые дивы срабатывает alert, но после нажатия на красный, новые alert'ы на серых не срабатывают ни водном браузере, кроме оперы, ни как не могу понять в чём дело, полночи над этим просидел
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2009, 10:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

div.onclick = function() { alert("bbb"); };
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2009, 11:22
Новичок на форуме
Отправить личное сообщение для Askhsiv Посмотреть профиль Найти все сообщения от Askhsiv
 
Регистрация: 23.10.2009
Сообщений: 9

делает алерт, но если вместо "bbb" алертить переменную i будет показываться цифра 4 на всех трёх дивах, а если отдельно алертить div.onclick любого дива, показывает function () { alert(i); } , т.е. кажет последнее её значение оставшееся после цикла, а не с каждого его этапа
Ответить с цитированием
  #4 (permalink)  
Старый 23.10.2009, 11:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/basic/closure#p...-ispolzovaniya
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2009, 11:55
Новичок на форуме
Отправить личное сообщение для Askhsiv Посмотреть профиль Найти все сообщения от Askhsiv
 
Регистрация: 23.10.2009
Сообщений: 9

Kolyaj, спасибо!

разобрался, не сразу,но адаптировал но свой скрипт)

блин, отчего же всё так не просто?

теперь со спокойной душой можно и поспать пойти)))
Ответить с цитированием
  #6 (permalink)  
Старый 23.10.2009, 11:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Askhsiv
блин, отчего же всё так не просто?
Это пока просто.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая смена слоёв dima_mak Internet Explorer 2 03.10.2009 11:39
Смена изображений при нажатии кнопки. Rel60 Общие вопросы Javascript 1 14.09.2009 11:05
Смена картинки при перезагрузке + наведении Мария Элементы интерфейса 2 22.08.2009 14:57
и снова IE (не работает смена style) lvil Элементы интерфейса 11 09.06.2009 16:37
Смена JPG Diam Общие вопросы Javascript 3 13.12.2008 00:24