jQuery click выводит меня наверх страницы. Но я хочу остаться там, где я есть - PullRequest
7 голосов
/ 10 июня 2009

У меня есть простой щелчок и показ, кнопка щелчка и скрытия, но когда я щелкаю по ней, страница привязывается вверху страницы. Есть ли способ предотвратить это? Чтобы при нажатии на кнопку я оставался на том же месте в браузере?

Мой код ..

$('#reportThis').hide();

$('#flagThis').click(function () {
    $('#reportThis').show("slow");
});
$('#submitFlag').click(function () {
    $('#reportThis').hide("slow");
});

Ответы [ 5 ]

18 голосов
/ 10 июня 2009

Попробуйте это:

$('#reportThis').hide();

$('#flagThis').click(function (evt) {
        $('#reportThis').show("slow");
        evt.preventDefault();
});
$('#submitFlag').click(function (evt) {
        $('#reportThis').hide("slow");
        evt.preventDefault();
});
4 голосов
/ 10 июня 2009

Попробуйте вернуть false в функцию click:

$('#reportThis').hide();

$('#flagThis').click(function () {
        $('#reportThis').show("slow");
        return false;
});
$('#submitFlag').click(function () {
        $('#reportThis').hide("slow");
        return false;
});
4 голосов
/ 10 июня 2009

Вы, вероятно, связываете эти клики с тегом , который имеет действие по умолчанию. Чтобы предотвратить это, вы можете использовать другой тег, например

$('#flagThis').click(function (event) {
        $('#reportThis').show("slow");
        event.preventDefault();
});
3 голосов
/ 10 июня 2009

Измените гиперссылки, чтобы они указывали на несуществующий якорь, например так:

<a href="#IDontExist" id="flagThis">Flag</a>

Или заставить ваши обработчики возвращать false, например:

$('#reportThis').hide();

$('#flagThis').click(function () {
    $('#reportThis').show("slow");
    return false;
});
$('#submitFlag').click(function () {
    $('#reportThis').hide("slow");
    return false;
});
0 голосов
/ 17 мая 2016

Если вы используете элемент <button>, не забудьте установить атрибут type.

<button type="button">My Button</button> 

Некоторые браузеры по умолчанию отправляют, что возвращает вас к началу вашей страницы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...