Не срабатывает обработчик 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 объект ссылки лежит с записанной ссылкой на обработчик, как и положено. Почему не вызывается обработчик в первом варианте? |
Цитата:
<!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>
|
Работают оба варианта, проверил с https://cdnjs.cloudflare.com/ajax/li.../jquery.min.js
|
Разобрался. Забыл, что блоки из .clides динамически перемещаются в другой контейнер и туда уже вешается обработчик.
|
| Часовой пояс GMT +3, время: 14:07. |