2012-05-17 2 views

ответ

4

Если вы используете событие щелчка на якорь тег, вам нужно использовать preventDefault. Например:

$('.3').click(function(e){ 
    e.preventDefault(); 
    $('body').animate({ 
     scrollTop: $(".middle").offset().top 
    }, 2000);     
}); 

Больше информации о том, как preventDefault работы: jQuery - event.preventDefault()

+0

Это было действительно полезно. thanks –

1

Вы можете сделать это, добавив return false; функции мыши в JQuery.

2

Его трудно узнать, не зная точно, где проблема, но вам может понадобиться e.preventDefault() или e.stopPropagation(), например.

$('.button').on('click',function(e) { 
    //do something 
    e.preventDefault();  // stops default button action, e.g. submitting a form 
    e.stopPropagation(); // stops event bubbling back to parent element 
    } 
    return false;   /// stops default link action 
}); 

где .button - это класс элемента, который запускает событие. Обратите внимание, что это примеры проблем, которые могут возникнуть у вас, но, не зная проблемы, с которыми вы столкнулись, я не могу сказать, что - если есть - будет работать.

+0

Обратите внимание, что '.live' устарел в JQuery 1.7. Вы должны использовать '.on' для JQuery 1.7+. Кроме того, OP не имеет никакого класса под названием 'button' для выбора с помощью' .button'. Я вижу, что это, вероятно, просто пример, но использование селектора тэгов '$ ('button')' может быть более показательным. –

+0

@ FabrícioMatté OP не указал, с какими проблемами он сталкивался с каким-то элементом, и jsfiddle не помог, так как я сказал, что это пример решений, которые могут решить проблему в зависимости от того, что это такое ... Правда о live, (его код из проекта, который я работал на whiel назад), но поскольку он не использовал его, я предположил, что он принимает только соответствующий код, который решил проблему. – FluffyKitten

+0

Да, я просто добавлял примечание для тех, кто может попробовать ваш код на JQuery 1.7+ могут оказаться с устаревшей функцией. : P –

0

Это часто случается, когда вы форму и вы нажмете на кнопку отправки, чтобы предотвратить браузер от обновления страницы просто сделать это в HTML:

<form onsubmit="return false;"> 
... 
</form> 

Если у вас есть ссылка на кнопки что обновляет страницу, сделайте следующее:

$('.myLinkOrButton').click(function(e) { 
    e.preventDefault(); 
    ... 
}); 
Смежные вопросы