Javascript.RU

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

Не запускается функция click()
Есть список чекбоксов. Необходимо, чтобы по нажатию на элемент - все чекбоксы сделались невыбранными.

Делаю так.
Добавляю элемент:
$('#tarea2').append('<div id="messageTwo" style="cursor:hand;cursor:pointer; ")>Очистить список</div>');};


Назначаю функцию, отключающую чекбоксы.
$('#tarea2 #messageTwo').click( function(){
$('#tarea2 :checkbox').css('display','none');
    $('#tarea2 label').css('display','none');
$('#tarea :checkbox').attr('checked',false);
});


Ничего не работает =( Хотя если поставить область не $('#tarea2 #messageTwo'), а $('#tarea2'), то при клике на tarea2 - чудесным образом работает. Никак не пойму - почему ??

По моему разумению, должно работать. Но не работает для элемента messageTwo.
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2011, 12:41
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Все работает.
Посмотри на что ругается браузер, может у тя ошибочка в коде.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2011, 12:46
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

зачем вы пишете селектор: #tarea2 #messageTwo ?
ведь id это уникальный атрибут каждого элемента и вполне достаточно будет: #messageTwo
Во вторых, вы уверены, что элемент добавлен перед тем как вы ему пытаетесь повесить событие, скорее всего в этом и проблема?
__________________
.
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2011, 12:52
Интересующийся
Отправить личное сообщение для qwaker Посмотреть профиль Найти все сообщения от qwaker
 
Регистрация: 03.04.2011
Сообщений: 23

Сообщение от walik Посмотреть сообщение
Все работает.
Посмотри на что ругается браузер, может у тя ошибочка в коде.
В том и дело - что не ругается. Просто при клике нет никакой реакции, как будто и не кликаю.
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2011, 12:54
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
	$(document.body).append('<div id="messageTwo" style="cursor:hand;cursor:pointer; ")>Очистить список</div>');
	$('#messageTwo').click(function() {
		$(':checkbox').removeAttr('checked');
	});
});
</script>
</head>
<body>
<input type="checkbox" checked /><br />
<input type="checkbox" /><br />
<input type="checkbox" checked /><br />
<input type="checkbox" /><br />
</body>
</html>

Вот вполне нормальная реакция. У вас в коде что то не так. Возможно как сказал Skipp,
Сообщение от Skipp
вы уверены, что элемент добавлен перед тем как вы ему пытаетесь повесить событие, скорее всего в этом и проблема?
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 04.04.2011, 12:55
Интересующийся
Отправить личное сообщение для qwaker Посмотреть профиль Найти все сообщения от qwaker
 
Регистрация: 03.04.2011
Сообщений: 23

Сообщение от Skipp Посмотреть сообщение
зачем вы пишете селектор: #tarea2 #messageTwo ?
ведь id это уникальный атрибут каждого элемента и вполне достаточно будет: #messageTwo
Во вторых, вы уверены, что элемент добавлен перед тем как вы ему пытаетесь повесить событие, скорее всего в этом и проблема?
Точно, перенес объявление функции в другое место - все заработало!! Спасибо за подсказку!
Ответить с цитированием
  #7 (permalink)  
Старый 04.04.2011, 12:56
Интересующийся
Отправить личное сообщение для qwaker Посмотреть профиль Найти все сообщения от qwaker
 
Регистрация: 03.04.2011
Сообщений: 23

Сообщение от walik Посмотреть сообщение
[HTML run]

Вот вполне нормальная реакция. У вас в коде что то не так. Возможно как сказал Skipp,
walik, спасибо, разобрался. Действительно не туда затолкал функцию.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery функция в цикле rostrid Общие вопросы Javascript 2 22.02.2011 21:47
Не работает функция инфоокна tomAlba Общие вопросы Javascript 0 30.01.2011 00:54
Проблемы с click() (не запускается при клике) hase jQuery 4 13.11.2010 22:25
Не работает функция из подключаемого файла evgenyan jQuery 3 28.10.2010 14:48
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58