Я попробовал этот код, чтобы открыть внутренний div и закрыть div. но у меня проблема, когда я выхожу за пределы div, но это не близко. просто мне нужна помощь в нем, когда я выхожу за пределы div, а также внутренний div должен быть близок.
вот код:
<div class="userNameBox">prashant birajdar
<div class="profile" style="display:none" tabindex="-1">
here is the code.
</div>
</div>
вот код js
$( ".userNameBox" ).click(function() {
$( ".profile" ).toggle( "slow" );
});
и вот jsfiddel http://jsfiddle.net/prashantbirajdar123/tY2vU/
На мой взгляд, лучшим решением является добавление в тело события, которое скроет профиль при нажатии, а функция userNameBox перестанет распространять события.
$( ".userNameBox" ).click(function(e) {
e.stopPropagation();
$( ".profile" ).toggle( "slow" );
});
$(document).click(function(e){
$( ".profile" ).hide( "slow" );
});
Слушайте тело и посмотрите, откуда появился клик
$(document).click(function(evt) {
if($(evt.target).closest(".userNameBox").length===0 && $(".profile").is(":visible")) {
$(".profile").slideUp( "slow" );
}
});
.profile
на .profile
?
.userNameBox
закрывали.profile
?