Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery.live。添加/删除用于登录的类SlideUp/slidedown_Jquery - Fatal编程技术网

Jquery.live。添加/删除用于登录的类SlideUp/slidedown

Jquery.live。添加/删除用于登录的类SlideUp/slidedown,jquery,Jquery,好的,我有一个登录表单,我使用Jquery在一个DIV中显示它,该DIV使用.slideUp()和.slideDown()来显示它 如果您单击.account div关闭表单(触发slideup),有人能告诉我为什么表单要进行双泵(slideup、slidedown、slideup)吗 如果我在窗体外单击并div,它将使用以下代码正常关闭 $(".modal_div").live("blur", function(){ $(".account").removeClass('ex

好的,我有一个登录表单,我使用Jquery在一个DIV中显示它,该DIV使用.slideUp()和.slideDown()来显示它

如果您单击.account div关闭表单(触发slideup),有人能告诉我为什么表单要进行双泵(slideup、slidedown、slideup)吗

如果我在窗体外单击并div,它将使用以下代码正常关闭

$(".modal_div").live("blur", function(){

        $(".account").removeClass('expand');
        $(this).slideUp();

});
这是我用来滑出/滑下的代码

$(".account").click(function() {

    if ($(".account").hasClass("expand")) {

        $(".account").removeClass("expand");
        $("#accdropdown").slideUp();
    } else {

        $(".account").addClass("expand");
        $("#accdropdown").slideDown();
        $("#login-username").focus();   
    }       
});
这是HTML

<div class="account">


    <div id="accdropdown" class="modal_div">
    <form action="" method="post">

        <p>
        <label for="login-username">Username</label><br>
        <input type="text" name="user_name" tabindex="1" id="login-username">
        </p>
        <p>
        <label for="login-password">Password</label><br>
        <input type="password" name="password" tabindex="2" id="login-password">
        </p>
        <p class="right">
        <button type="submit" tabindex="3"><span>Log in</span></button>

        </p>

        </form>
        </div>
        <p>Login</p>
    </div>
我已经为此绞尽脑汁好几个小时了,非常感谢你的建议……

问题是当你打开新输入后点击灰色框时,你的“模糊”会发生什么

首先它会模糊(向上),然后它会运行单击[因为模糊已经运行](它会向下)


现在。。。如何最好地解决这个问题?。。。首先,您可能不想使用模糊,因为当用户填写用户名并点击[tab]时,div就会消失。。。。。。您希望它如何工作

如果您需要它,那么当用户单击“其他地方”时,
.modal\u div
将消失,我将使用覆盖。。这就是一个例子

另外,如果你不需要,你应该避免使用
live


已更新 备选案文1:

这会将登录置于覆盖之上。。。如果这是你不想要的,那么使用


选项2:

这可能会有所帮助

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

        $(".account").addClass("expand");
        $("#accdropdown").slideDown();
        return false;

});

    $(document).click(function(event) {
    if ( !$(event.target).hasClass('expand')) {
           $(".account").removeClass("expand");
        $("#accdropdown").slideUp();

    }
});

这是小提琴

它适用于除div之外的所有东西,div是一个按钮,因此需要再次单击它才能关闭。但是非常接近。感谢添加
cursor:pointer
属性到
expand
类,你是在问这个问题吗?当覆盖处于活动状态时,我如何让它在我的原始登录按钮(.account)上显示指针?我希望按钮仍然显示指针光标。除此之外,这真的很有效。谢谢。更新了,你想做什么就做什么
$(".account").click(function(event) {  

        $(".account").addClass("expand");
        $("#accdropdown").slideDown();
        return false;

});

    $(document).click(function(event) {
    if ( !$(event.target).hasClass('expand')) {
           $(".account").removeClass("expand");
        $("#accdropdown").slideUp();

    }
});