2010-02-22 3 views
3

Я с помощью функции JQuery показать/скрыть в форме (сгенерированный с PHP)Jquery - Show/Hide - всегда идет вверх страницы по щелчку

В этой форме есть 10 скрытых элементов, и каждый раз, пользователь нажимает ссылку «добавить еще», он отображает следующий скрытый элемент, а мой нижний колонтитул с ним падает. Все идет нормально.

Теперь проблема заключается в том, что после отображения 2 или 3 скрытых элементов, страница становится больше, и появляется правая панель прокрутки навигации из firefox, что хорошо, но тогда, когда я нажимаю на следующую ссылку «добавить еще», навигационная полоса прокрутки возвращается к верхней части страницы, пока отображается скрытый элемент. Каждая ссылка, которая добавляет новый скрытый элемент, переводит страницу вверх, и я не хочу этого поведения ...

Кто-нибудь знает, как это исправить?

ответ

3

насчет добавления возврата ЛЖИ в конце события щелчка

+0

Работал! Большое спасибо! – Piero

+0

На самом деле я всегда использую e.preventDefault() в начале моего объявления и возвращаю false; в конце, таким образом, он работает каждый раз ... – Piero

5

Является ли «добавить еще» фактический элемент a с обработчиком кликов, который добавляет новый контент?

Если это так, вы, возможно, захотите event.preventDefault(). Попробуйте что-то вроде этого:

$('.myClickedLink').click(function(event) { 

    event.preventDefault(); 
    // Run my code 

}) 

Это предотвращает поведение по умолчанию для ссылки. Я предполагаю, что это то, что заставляет вашу страницу возвращаться к вершине каждый раз.

EDIT: Сначала в моем коде я ошибочно набрал stopPropagation() вместо preventDefault(). Это было правильно в тексте выше. Сожалею.

+0

Это не сработало, он прекратил все поведение показать/скрыть ... но следующий ответ работал! ;) Спасибо за ваше время! – Piero

Смежные вопросы