-6

我希望登录区域(在下面的代码中)打开登录按钮单击。此外,当单击登录区域外的任何位置时,我需要隐藏登录区域,而不是登录按钮。

<button id="loginBtn">Login</button>

<div id="loginArea">
   <!-- here is login form -->
</div>

我怎样才能做到这一点?

4

3 回答 3

2

使用:

$('body').on('click', '#loginBtn', function(){
    $('#loginArea').show();
});

将显示登录名,而当您在其外部单击时,以下内容将删除它:

$(document).on('click', 'body:not(#loginArea)', function(){
    $('#loginArea').hide();
});
于 2013-03-12T13:31:22.473 回答
1
$(function() {
    $('#loginBtn, #loginArea').on('click', function(e) {
        $('#loginArea').show();
        e.stopPropagation();
    });
    $('body').on('click', function() {
        $('#loginArea').hide();
    });
});

如果单击是在登录区域内或按钮上,则事件不会到达第二个处理程序以隐藏登录区域。

于 2013-03-12T13:30:25.287 回答
-1

怎么样?

$('#loginBtn').click(function (e) {
   $('#loginArea').toggle();
   e.stopPropagation();
});

$(document).on('click',function () {
    $('#loginArea').hide();
});
于 2013-03-12T13:31:45.827 回答