2011-11-30 52 views
5

我的文件看起来是这样的: enter image description here如何响应某个区域之外的点击?

基本背景是一个全屏幕,透明的股利。有几个问题......如果我只是创建背景div,并且不应用任何z-index,它最终会成为所有内容的一部分,而且我不能单击该框。如果我将背景div的z-index设置在框下方,我似乎无法点击背景。我想要做什么,它能够在框中和背景上同时点击。

var x = document.getElementById("bg"); 
x.addEventListener("click",reset,false); 

function reset() { 
    alert("reset was clicked"); 
} 

CLARIFICATION:box与bg位于同一节点级别。它不在bg div内。

+0

很奇怪,请[jsFiddle](http://jsfiddle.net)。 – ExpExc

+1

如果我点击这个[demo](http://jsfiddle.net/Dj6GZ/)中的'#box',它就会按照你的意愿运行。 (OS X上的Safari) – bookcasey

+0

你的'盒子'在'bg'中吗?它在外面吗?发布相关标记,否则有太多未知数。 – Strelok

回答

0

您必须发布您的代码,以便每个人都可以帮你。我的test在Firefox和Chrome上正常工作。如果我猜对了,代码中的背景没有展开。尝试在我的示例中删除html, body { width:100%; height:100%; }以查看问题。

在IE浏览器中,您需要使用透明的gif图片作为背景div的背景,否则背景div可能无法接收鼠标点击事件。

1

看看这个jQuery插件 - 即使它不能解决您的特定问题,代码可以提供洞察你的困境。

jQuery clickoutside

相关问题