0

我试过实现: http ://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/

效果很好,当您单击链接时它会显示,然后如果您再次单击它会隐藏它。如果您在文档打开时单击文档上的任何其他位置,它也会隐藏。

我试过在这个页面中实现:http: //hevvo.eu/~dev/backtrack/index.php

但是,它仅在您单击它,然后单击该文档时才有效,如果您再次单击该链接则无效。我只是无法弄清楚我的代码有什么不同..

4

2 回答 2

2

一个区别是您没有preventDefault()在点击处理程序中调用事件对象。此外,您的触发链接具有类 menu-open 硬编码。

编辑

在 jQuery 中绑定事件处理程序时,该函数会自动传递一个事件对象,该对象具有您可以使用的各种属性和方法。调用其中一种方法preventDefault()并在触发该事件时停止浏览器执行其默认操作。你可以像这样调用这个方法:

$("a_selector").click(function(event) {

    //stop browser performing default action, e.g following a link
    event.preventDefault();

    //do your other stuff here
});

事件对象以任何 jQuery 事件处理方法传递给处理程序,例如bind(), live(),delegate()on()on()当然是首选方法,因为live()delegate()现在已弃用)

于 2012-10-08T18:57:36.803 回答
2

添加了这个修复它。

    $(".sign-in").mouseup(function() {
            return false
        });

感谢所有帮助过的人。

于 2012-10-10T17:37:58.080 回答