При использовании jQuery animate (), если выбран элемент ‹a href=# ›‹/a›, функция все равно должна возвращать false?

Я читал страницу jQuery для animate ()

http://api.jquery.com/animate/

В его примерах не упоминается, если вы используете

<a href="#" id="clickme">click me</a>
...

$('#clickme').click(function() {
    $('#someDiv').animate({left: "+=60"});
})

нам действительно все еще нужно возвращать false, как в старые времена?

$('#clickme').click(function() {
    $('#someDiv').animate({left: "+=60"});
    return false;
})

(но тогда в этих примерах не использовалось <a> для «щелкни меня» ... а использовалось что-то еще.

Иначе страница вернется в начало страницы? Есть ли у jQuery более элегантный или волшебный способ сделать это?


person nonopolarity    schedule 15.06.2010    source источник


Ответы (1)


Вам необходимо использовать event.preventDefault ():

$('...').click(function(event) {
    event.preventDefault();
    // Code.
});

С веб-сайта jQuery:

event.preventDefault ()
Описание: Если этот метод вызывается, действие по умолчанию для события не запускается.

person zmbush    schedule 15.06.2010
comment
return false тоже работает ... лучше ли eventPreventDefault ()? - person nonopolarity; 15.06.2010
comment
stackoverflow .com / questions / 2017755 / - person Reigel; 15.06.2010