禁用链接的默认行为

时间:2010-07-05 17:00:03

标签: javascript jquery jquery-plugins

我有一个菜单列表:

<ul>
    <li><a href="#about" id="about">ՄԵՐ ՄԱՍԻՆ</a></li>
    <li><a href="#products" id="products" >ԱՐՏԱԴՐԱՆՔ</a></li>
    <li><a href="#farm" id="farm" >ՏՆՏԵՍՈՒԹՅՈՒՆ</a></li>
    <li><a href="#gallery" id="gallery" >ՆԿԱՐՆԵՐ</a></li>
    <li><a href="#contacts" id="contacts">ՀԵՏԱԴԱՐՁ ԿԱՊ</a></li>
</ul>

我使用address插件沿着ajax返回/转发,但我有一个小错误,我无法修复。

当我点击菜单时,如果页面滚动,它会移动页面,直到菜单出现在页面顶部,但我不需要它。

是否有方法可以禁用此行为?

非常感谢。

4 个答案:

答案 0 :(得分:9)

创建或修改click()处理程序以获取使用preventDefault()方法的链接。

例如:

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

        evt.preventDefault(); 
        return false;  
    } 
);

答案 1 :(得分:7)

尝试将以下内容添加到您的链接中:

onclick="return false;"

因为你可能正在为click事件添加一个事件处理程序。只需将return false添加到它的末尾,而不是直接添加到HTML标记上。

答案 2 :(得分:1)

'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>

答案 3 :(得分:-3)

正如andres descalzo所说,因为他们拥有相同的身份,然后是href。所以我只需要更改a标记

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

它解决了整个问题。

感谢大家的关注和想法;)