Javascript.RU

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

не верно работает onclick. Подскажите плиз
var tower1 = document.getElementById('tower1');
tower1.onclick = build('tower1');

function build(tower)
{
  document.getElementById(tower).disabled = 'true';
}


Доброго времени суток!
Подскажите, почему у меня данный код выполняется сразу, как загрузилась страница? Т.е. кнопка "tower1" уже сразу неактивна.
Хочу сделать чтобы при клике на не, она стала неактивной. В чем ошибаюсь? И почему нельзя сделать функцию, которая бы запускалась при нажатии кнопки?
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2014, 14:19
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

tower1.onclick = build('tower1'); /* тут вызов функции и присвоение результата свойству onclick */
tower1.onclick = build; /* тут просто присвоение свойству функции */
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2014, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

mrdeath4,
http://learn.javascript.ru/bind
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2014, 15:11
Новичок на форуме
Отправить личное сообщение для mrdeath4 Посмотреть профиль Найти все сообщения от mrdeath4
 
Регистрация: 17.07.2014
Сообщений: 9

я извиняюсь, че-то я не понял, как решить проблему то? )

Все, до меня дошло. Правда не сразу. Спасибо большое всем.

Последний раз редактировалось mrdeath4, 17.07.2014 в 15:24.
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2014, 15:23
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

<html>
	<head>
		<title>example</title>
	</head>
	<body>
		<input type="button" id="tower1" value="click me">
		<script>
var tower1 = document.getElementById('tower1');
tower1.onclick = build('tower1');

function build(tower)
	{
	return function ()
		{
		document.getElementById(tower).disabled = 'true';
		}
	}

		</script>
	</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2014, 15:29
Новичок на форуме
Отправить личное сообщение для mrdeath4 Посмотреть профиль Найти все сообщения от mrdeath4
 
Регистрация: 17.07.2014
Сообщений: 9

Спасибо) интересно решение)
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2014, 15:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

mrdeath4,
tower1.onclick = build.bind(null,'tower1');
Ответить с цитированием
  #8 (permalink)  
Старый 17.07.2014, 15:46
Новичок на форуме
Отправить личное сообщение для mrdeath4 Посмотреть профиль Найти все сообщения от mrdeath4
 
Регистрация: 17.07.2014
Сообщений: 9

Спасибо, а вариант, вызвать в онклике автономную функцию, а в ней, в свою очередь, вызвать свою, сильно хуже?
Ответить с цитированием
  #9 (permalink)  
Старый 17.07.2014, 15:47
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

рони, а куда делись все программисты? я см, ты тут один за всех отдуваешься))
Ответить с цитированием
  #10 (permalink)  
Старый 17.07.2014, 15:49
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

мой код будет работать в старых ие, у рони в новых браузерах, но на старые браузеры нормальные люди уже забили. его метод более современный))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, плиз, с изменением src для img внутри figure! Sam L Events/DOM/Window 9 16.05.2013 19:27
Подскажите плиз ratrat Элементы интерфейса 2 26.11.2012 10:04
ява скрипт Люди подскажите Плиз ArtMain Работа 4 19.01.2011 06:54
Функция которая работает на OnLoad не хочет работать на OnClick libinstyle Элементы интерфейса 6 23.03.2010 01:42
Не работает onClick добавление тега <s> AvaGet Общие вопросы Javascript 13 09.12.2008 18:41