0

<div>クリックが外側で発生したときに、これ自体を非表示にするにはどうすればよいですか? それを非表示にして、その背後にあるページの残りのコンテンツを表示できるようにしたいと思います。

<html>
<style>
.overlay
{
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    opacity: 0.5;
    filter: alpha(opacity=50);
    z-index: 80;
}
.popupContent
{
    background: #fff;
    padding: 5px;
    border: 1px solid black;
    position: fixed;
    top: 100px;
    left: 400px;
    bottom: 365px;
    right: 300px;
    z-index: 81;
}​

</style>

<div id="initialPopup">
    <div class="overlay"></div>
    <div class="popupContent" onclick="hideInitialPopup()">
    Good Morning, Please Upload Your File Today!
    </div>

</div>
 ​



<script>
function hideInitialPopup() {
    document.getElementById("initialPopup").style.display = "block";
    $("popupContent").mouseup(function(){
    if(! mouse_is_inside) $
}​
</script>

</html>
4

2 に答える 2

2

jQuery を使用event.targetして、ボックス内をクリックしたかどうかを判断します。

 $(document).on('click',function(e) {
     if (!$(e.target).closest('#my_div_id').length) {
         $('#my_div_id').hide();
     } 
 });​

http://jsfiddle.net/mblase75/PNYTX/

于 2012-07-23T20:17:19.130 に答える
2

通常、ポップアップ/ダイアログなどでマスクを使用する場合、クリック時にポップアップ/ダイアログを非表示にするクリック ハンドラーをマスク自体にアタッチするのが最も簡単です。

ここに jfiddle があります: http://jsfiddle.net/peterdev001/SDNUj/

于 2012-07-23T21:14:59.970 に答える