Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   не работает preventDefault() (https://javascript.ru/forum/dom-window/66002-ne-rabotaet-preventdefault.html)

Эльман 20.11.2016 16:10

не работает preventDefault()
 
Привет всем, всю голову сломал, учу jquery по видео курсу никак не работает код причем полная копия из видеокурса.
Помогите плиз, 5 раз переписал уже.

<div id="gallery">
<div id="big"><img src="images/gal/start.jpg" alt="Старт" /></div>
<div id="small">
<a href="images/gal/1.jpg"><img src="images/gal/1_mini.jpg" alt="Миниатюра 1" /></a>
<a href="images/gal/2.jpg"><img src="images/gal/2_mini.jpg" alt="Миниатюра 2" /></a>
<a href="images/gal/3.jpg"><img src="images/gal/3_mini.jpg" alt="Миниатюра 3" /></a>
<a href="images/gal/4.jpg"><img src="images/gal/4_mini.jpg" alt="Миниатюра 4" /></a>
</div>
</div>


$(document).ready(function(){
$('#small a').click(function(eventObject){
  $('#big img').hide(10000).attr('src',$(this).attr('href'));
  $('#big img').load(function(){
    $(this).fadeIn(2000);
  });
  eventObject.preventDefault();
});	
});

Эльман 20.11.2016 16:11

Цитата:

Сообщение от Эльман (Сообщение 435555)
Привет всем, всю голову сломал, учу jquery по видео курсу никак не работает код причем полная копия из видеокурса.
Помогите плиз, 5 раз переписал уже.

<div id="gallery">
<div id="big"><img src="images/gal/start.jpg" alt="Старт" /></div>
<div id="small">
<a href="images/gal/1.jpg"><img src="images/gal/1_mini.jpg" alt="Миниатюра 1" /></a>
<a href="images/gal/2.jpg"><img src="images/gal/2_mini.jpg" alt="Миниатюра 2" /></a>
<a href="images/gal/3.jpg"><img src="images/gal/3_mini.jpg" alt="Миниатюра 3" /></a>
<a href="images/gal/4.jpg"><img src="images/gal/4_mini.jpg" alt="Миниатюра 4" /></a>
</div>
</div>


$(document).ready(function(){
$('#small a').click(function(eventObject){
  $('#big img').hide(10000).attr('src',$(this).attr('href'));
  $('#big img').load(function(){
    $(this).fadeIn(2000);
  });
  eventObject.preventDefault();
});	
});

после клика картинка меняется и осуществляется переход по ссылке

Эльман 20.11.2016 16:41

Цитата:

Сообщение от Rise (Сообщение 435560)
Эльман, сделай в начале prevent а не в конце.

Поставил в начало, по ссылке не переходит, а после hide код дальше не идет. По видео уроку код как тут выложен и там работает, а у меня нет :(

laimas 20.11.2016 16:43

Rise,
да не важно, все должно работать.

Эльман,
и лучше так:

$('#small').on('click', 'a', function(eventObject){
        eventObject.preventDefault();
        $('#big img').hide(10000).attr('src', this.href).load(function(){
            $(this).fadeIn(2000);
        });
    });


Правда заложенная логика работы слайдера странная.

Эльман 20.11.2016 16:46

Цитата:

Сообщение от laimas (Сообщение 435564)
Rise,
да не важно, все должно работать.

Эльман,
и лучше так:

$('#small').on('click', 'a', function(eventObject){
        eventObject.preventDefault();
        $('#big img').hide(10000).attr('src', this.href).load(function(){
            $(this).fadeIn(2000);
        });
    });


Правда заложенная логика работы слайдера странная.

Да логика то скорее просто показать,что такое jquery. Но код всеравно нерабоает

Эльман 20.11.2016 16:47

Цитата:

Сообщение от laimas (Сообщение 435564)
Rise,
да не важно, все должно работать.

Эльман,
и лучше так:

$('#small').on('click', 'a', function(eventObject){
        eventObject.preventDefault();
        $('#big img').hide(10000).attr('src', this.href).load(function(){
            $(this).fadeIn(2000);
        });
    });


Правда заложенная логика работы слайдера странная.

всеравно переходит вконце операции по ссылке

Эльман 20.11.2016 16:54

Цитата:

Сообщение от Эльман (Сообщение 435566)
всеравно переходит вконце операции по ссылке

Если preventDefault(); указать в начале кода картинка уходит под hide,
но переход не осуществляется по ссылке и не появляется новая картинка. А если указываю вконце, то картинка новая появляется ,а потом переход по ссылке

laimas 20.11.2016 16:58

Rise,
В данном случае без проблем работает по любому. С экрана видео записать? )

Эльман 20.11.2016 17:01

Цитата:

Сообщение от laimas (Сообщение 435571)
Rise,
В данном случае без проблем работает по любому. С экрана видео записать? )

)))
С этим понятно теперь, что ж тогда неработает то?

laimas 20.11.2016 17:03

Цитата:

Сообщение от Эльман
всеравно переходит вконце операции по ссылке

<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script> 
$(function() {
    $('#small').on('click', 'a', function(e){
        e.preventDefault();
        $('#big').html(this.innerHTML);
    });
});
</script>     
</head> 
<body>
<div id="big">Rest</div>
<div id="small">
<a href="http://kudato.dmn/"><h4>Job</h4></a>
</div>
</body> 
</html>


Отправляет на какой-то адрес?


Часовой пояс GMT +3, время: 01:10.