Javascript.RU

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

Не срабатывает обработчик Click на ссылку.
Добрый день!

Бодаюсь с такой проблемой.

Вешаю на ссылку обработчик клика.

<div id="bckgnd">
	<div class="slides">
		<div id="slide1" class="show_slide_left">
			<a href="#"><img src="img/about1.png"></a>
		</div>
	</div>
</div>


linkObj = $('#bckgnd .slides div a');
linkObj.click(function(e){
	e.preventDefault();
	console.log("preventDefault");
	return false;
});


Обработчик не вызывается. Применяю другую запись селектора.

linkObj = $('#bckgnd div div a');
linkObj.click(function(e){
	e.preventDefault();
	console.log("preventDefault");
	return false;
});


Так обработчик вызывается. Объект находится в обоих вариантах.
Проверил в отладчике первый вариант. В переменной linkObj объект ссылки лежит с записанной ссылкой на обработчик, как и положено.
Почему не вызывается обработчик в первом варианте?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2019, 12:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от AlexanderB
Обработчик не вызывается. Применяю другую запись селектора.
вы что - то не договариваите
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
linkObj = $('#bckgnd .slides div a');
linkObj.click(function(e){
	e.preventDefault();
	console.log("preventDefault");
    alert("preventDefault");
	return false;
});

});
  </script>
</head>

<body>
<div id="bckgnd">
	<div class="slides">
		<div id="slide1" class="show_slide_left">
			<a href="#"><img src="https://www.mikehourigan.com/wp-content/uploads/2011/08/About-Mike-Hourigan.jpg"></a>
		</div>
	</div>
</div>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2019, 12:20
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Работают оба варианта, проверил с https://cdnjs.cloudflare.com/ajax/li.../jquery.min.js
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2019, 13:13
Новичок на форуме
Отправить личное сообщение для AlexanderB Посмотреть профиль Найти все сообщения от AlexanderB
 
Регистрация: 16.05.2019
Сообщений: 2

Разобрался. Забыл, что блоки из .clides динамически перемещаются в другой контейнер и туда уже вешается обработчик.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события срабатывает без события! Подскажите пожалуйста opawina Events/DOM/Window 3 11.09.2016 06:49
Событие click со 2-го раза срабатывает AlexK jQuery 1 28.12.2014 21:26
Обработчик события click элемента, содержащего iframe meryfelow Events/DOM/Window 0 07.03.2012 18:58
click срабатывает со второго раза jsuse jQuery 2 03.12.2011 03:44
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37