Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.12.2013, 06:43
Кандидат Javascript-наук
Отправить личное сообщение для hrundel Посмотреть профиль Найти все сообщения от hrundel
 
Регистрация: 01.08.2009
Сообщений: 102

Переместил навешивание события в другое место и не перестало работать
Сначала был такой код. Обратите внимание на место расположения$('#sendbutton').click(fun ction(){alert('hohohohoho');});
$(document).ready(
	(function(){
		return myfunc;
	})()
);

function myfunc(){
	console.log('well done');
	$('#sendbutton').click(function(){alert('hohohohoho');});
}


Затем я навешивание события переместил внутрь $(document).ready() и событие перестало работать:
$(document).ready(
	(function(){
		$('#sendbutton').click(function(){alert('hohohohoho');});
		return myfunc;
	})()
);

function myfunc(){
	console.log('well done');
}

Что я не так сделал?
Ответить с цитированием
  #2 (permalink)  
Старый 08.12.2013, 07:09
Кандидат Javascript-наук
Отправить личное сообщение для hrundel Посмотреть профиль Найти все сообщения от hrundel
 
Регистрация: 01.08.2009
Сообщений: 102

Уже разобрался. Это из-за того, что конструкция (function(){...})() вызывается в тот же момент, когда браузер находит её. А в этот момент загружен jQuery, но не загружено тело документа, где находится тег #sendbutton. Если переместить все скрипты в конец тега body, то всё будет работать.
Ответить с цитированием
  #3 (permalink)  
Старый 08.12.2013, 07:31
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 457

А так не пробывал делать:
$(function(){
	$('#sendbutton').click(function(){alert('hohohohoho')});
});
Ответить с цитированием
  #4 (permalink)  
Старый 08.12.2013, 09:49
Кандидат Javascript-наук
Отправить личное сообщение для hrundel Посмотреть профиль Найти все сообщения от hrundel
 
Регистрация: 01.08.2009
Сообщений: 102

Сообщение от Rise Посмотреть сообщение
А так не пробывал делать:
$(function(){
	$('#sendbutton').click(function(){alert('hohohohoho')});
});
Не пробовал. Думаю, что не надо извращаться, а делать только так, как написано в документации.
Ответить с цитированием
Ответ



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

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