Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2011, 14:49
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

Код работает не так как задумал. Обработчик onclick
Здравствуйте. Вот код:
if (window.addEventListener) {
	window.addEventListener('load', clickHandler);
} else if (window.attachEvent) {
	window.attachEvent('onload', clickHandler);
}

function clickHandler() {	
var data = [
	['checkbox_title', 50],
	['checkbox_message', 100]
];

var element;
var height;

for (var i = 0; i<data.length; i++) {
		element = data[i][0];
		height = data[i][1];


document.getElementById(element).onclick = function() { 
		alert(height);
		}

	}
}


Он выводит постоянно при клику на нужный мне обьект, цифру 100, хотя в 1 случае должен 50, ну а на 2 обьект 100, а он всегда 100 выводит. И такой ещё вопрос хочу задать, можно ли как передать параметры функции, когда мы вещаем обработчик события через object.click или window.addEventListener.
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2011, 15:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/basic/closure#p...-ispolzovaniya
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2011, 23:31
Аспирант
Отправить личное сообщение для prowoke Посмотреть профиль Найти все сообщения от prowoke
 
Регистрация: 09.12.2010
Сообщений: 56

С вопроса "Почему это не работает?" люди обычно начинают изучение замыканий.

function addEvents(divs) {
for(var i=0; i<divs.length; i++) {
divs[i].innerHTML = i
divs[i].onclick = function() { alert(i) }
}
}


Очень понравилась вот эта строчка. Спасибо, разобрался.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
Как в iframe с designmode=on отследить onClick ? negr78 Events/DOM/Window 2 24.10.2010 09:48
Как совместить работу onmouseover, onmouseout и onclick Sed0Y Общие вопросы Javascript 11 11.08.2009 15:59
как правильно установить обработчик onclick? Yurik AJAX и COMET 6 14.04.2009 21:04
как узнать html код документа, подгруженного в iframe alexKniaz Events/DOM/Window 7 03.12.2008 12:37