Отключите поведение по умолчанию ссылок

У меня есть список меню:


и я использую плагин адреса, чтобы иметь назад/вперед вдоль ajax, но у меня есть немного ошибки, которую я не могу исправить.

Когда я нажимаю на меню, если страница имеет прокрутку, это перемещает страницу, пока меню не появляется в начале страницы, но мне не нужен он, делают это.

Существует ли метод для отключения этого поведения?

Большое спасибо.

6
задан Scorpion-Prince 1 July 2015 в 18:51
поделиться

4 ответа

Создайте или измените обработчики click() для ссылок, чтобы они использовали метод preventDefault().

Например:

$("a").click 
(
    function (evt)
    {
        //YOUR CODE HERE

        evt.preventDefault(); 
        return false;  
    } 
);
9
ответ дан 8 December 2019 в 17:18
поделиться

'href="#about"' ссылается на элемент с id 'about'. поэтому страница перемещается

<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>

    <div id="datosResultado">
        1<br />
        2<br />
        3<br />
        4<br />
        5<br />
        6<br />
        7<br />
        8<br />
        9<br />
        10<br />
    </div>
    <ul id="yourMenu">
        <li><a href="#about" id="about">about</a></li>
        <li><a href="#products" id="products">products</a></li>
        <li><a href="#farm" id="farm">farm</a></li>
        <li><a href="#gallery" id="gallery">gallery</a></li>
        <li><a href="#contacts" id="contacts">contacts</a></li>
    </ul>

    <div id="you-click"></div>

</body>

<script type="text/javascript">

$(function(){

    $("#yourMenu>li>a").bind("click", function(ev){

        ev.stopPropagation();

        //...your code...

        $("#you-click").html($(this).html());

        return false;
    });
});

</script>
1
ответ дан 8 December 2019 в 17:18
поделиться

попробуйте добавить к своим ссылкам следующее:

onclick="return false;"

Поскольку вы, вероятно, добавляете обработчик событий к этой ссылке для события щелчка. Просто добавьте return false в его конец, а не прямо в тег HTML.

7
ответ дан 8 December 2019 в 17:18
поделиться

Как сказал Андрес Дескальцо, это происходит потому, что у них одинаковый id, а затем в href. Поэтому мне просто нужно изменить id тегов a

    <a href="#about" id="_about">ՄԵՐ ՄԱՍԻՆ</a>
    <a href="#products" id="_products"> ԱՐՏԱԴՐԱՆՔ</a>
   ....................................................

это решает всю проблему.

Спасибо всем за внимание и идеи;)

-3
ответ дан 8 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: