我想在登录按钮点击时切换登录区域(在下面的代码中)。此外,我在登录区域外的任何地方点击时都需要隐藏登录区域,而不是登录按钮。
<button id="loginBtn">Login</button>
<div id="loginArea">
<!-- here is login form -->
</div>
我怎样才能做到这一点?
答案 0 :(得分:2)
使用:
$('body').on('click', '#loginBtn', function(){
$('#loginArea').show();
});
将显示登录信息,而当您在其外部点击时,以下内容将将其删除:
$(document).on('click', 'body:not(#loginArea)', function(){
$('#loginArea').hide();
});
答案 1 :(得分:1)
$(function() {
$('#loginBtn, #loginArea').on('click', function(e) {
$('#loginArea').show();
e.stopPropagation();
});
$('body').on('click', function() {
$('#loginArea').hide();
});
});
如果点击位于登录区域或按钮内,则事件将不会进入第二个处理程序以隐藏登录区域。
答案 2 :(得分:-1)
怎么样?
$('#loginBtn').click(function (e) {
$('#loginArea').toggle();
e.stopPropagation();
});
$(document).on('click',function () {
$('#loginArea').hide();
});