로그인 버튼을 클릭 할 때 토글 할 로그인 영역 (아래 코드)이 필요합니다. 또한, 로그인 영역 밖에서는 클릭 할 때 로그인 영역을 숨기고 로그인 버튼에서는 숨길 필요가 없습니다.div의 바깥 쪽을 클릭하십시오.
<button id="loginBtn">Login</button>
<div id="loginArea">
<!-- here is login form -->
</div>
어떻게하면됩니까?
로그인 버튼을 클릭 할 때 토글 할 로그인 영역 (아래 코드)이 필요합니다. 또한, 로그인 영역 밖에서는 클릭 할 때 로그인 영역을 숨기고 로그인 버튼에서는 숨길 필요가 없습니다.div의 바깥 쪽을 클릭하십시오.
<button id="loginBtn">Login</button>
<div id="loginArea">
<!-- here is login form -->
</div>
어떻게하면됩니까?
$(function() {
$('#loginBtn, #loginArea').on('click', function(e) {
$('#loginArea').show();
e.stopPropagation();
});
$('body').on('click', function() {
$('#loginArea').hide();
});
});
클릭이 로그인 영역 내에서 또는 버튼에있는 경우, 이벤트는 로그인 영역을 숨길 수있는 두 번째 핸들러로하지 않습니다.
사용 :
$('body').on('click', '#loginBtn', function(){
$('#loginArea').show();
});
가 로그인을 보여줍니다 다음 그것을 제거하는 동안 그것의 외부를 클릭 할 때 :
$(document).on('click', 'body:not(#loginArea)', function(){
$('#loginArea').hide();
});
.remove()는 DOM에서 div를 제거합니다. – Dogoku
@Dogoku 아하! 업데이트 됨. –
어떻게 그건?
$('#loginBtn').click(function (e) {
$('#loginArea').toggle();
e.stopPropagation();
});
$(document).on('click',function() {
$('#loginArea').hide();
});
이렇게하면 로그인 상자를 클릭해도 숨길 수 있습니다. –
,'e.stopPropagation()'은 다른 핸들러로 이벤트 버블 링을 멈 춥니 다. – Dogoku
@eomeroff : 당신은 1151 담당자가 - 확실히 당신은 사람들이 당신에게 것을 지금 쯤은 알아야을 - – Paul
방법 선택기를 사용하는 방법에 대한 ... '무슨 일이 지금까지 시도'하지? – egig
@Westie 더 이상 1151이 없습니다. 그리고 내가 시도한 것을 묻는 사람은 아무도 없습니다. 시도 할 방법이 없다면 어떨까요? 이것은 연구 할 수없는 구체적인 질문입니다. 솔직히 나는 왜 5 표를 얻는 지 이유를 알지 못합니다. 희망이 질문은 누군가에게 유용 할 것입니다. – eomeroff