Если в jQuery animate () используется элемент <a href="#" ...> </a>, то для функции по-прежнему должно возвращаться значение false? - PullRequest
3 голосов
/ 15 июня 2010

Я читал страницу 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 более элегантный или волшебный способ сделать это?

1 Ответ

3 голосов
/ 15 июня 2010

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

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

С сайта jQuery :

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

...