javascript - checkExternalClick 正在做与我想要它做的相反的事情吗?

标签 javascript jquery html css

我之前问过一个问题,在尝试了 this questions's answer by Jason Striegel 中给出的背景覆盖之后,如何在用户单击框外的任何地方时关闭框。 .但它没有用,也没有受到太多关注。我现在正试图从 Aaron Ray 给出的另一个答案中解决这个问题。他建议 检查外部点击。我已经设置好了,但现在只要我点击框的任何地方,框就会关闭,而不是外面的任何地方!

JS:

$(document).ready(function(){
    initHUDWindow();
});

function initHUDWindow()
{
    $(document).mousedown(checkExternalClick);  
}

function checkExternalClick(event)
{
   var target = $(event.target);
   if(target[0].id != "box")
   {        
      hideBox();
   }
}

function hideBox()
{
   $(".BoxContainer").hide();
}

CSS:

.Box
{
position:absolute;
top:15%;
left:15%;
width:500px;
height:600px;
background-repeat:no-repeat;
z-index:2;
}


.BoxContainer
{
background-image:url('images/box.png');
z-index:2;
}

HTML:

<div id = "box">
   <div class = "Box BoxContainer"></div> 
</div>

正如我所说,当用户在框内单击时,这将关闭框。可是等等!我认为如果他们在外面点击它应该关闭盒子?

最佳答案

试试这个

$(document).ready(function(){
    initHUDWindow();

    $("#box").click(function(e){
        e.stopPropagation();
    });

});

function initHUDWindow()
{
    $(document).click(checkExternalClick);  
}

function checkExternalClick(event)
{
   hideBox();
}

function hideBox()
{
   $(".BoxContainer").hide();
}

关于javascript - checkExternalClick 正在做与我想要它做的相反的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863627/

相关文章:

javascript - Ember 排序不起作用?

javascript - 拼接(0)与拼接(0,未定义)

javascript - 如何通过复选框隐藏/显示显示具有不同标题的相同 div

javascript - EVAL 危险 如何更换

javascript - 如何在<tr>表中搜索?

Javascript网页搜索定时器

javascript - 使用 chart.js 创建动态图表

html - 父元素具有转换的固定定位

html - 如何在现代浏览器中生成缩略图客户端?

javascript - 如何在不流过帧的情况下在帧图像内渲染屏幕截图/图像?