首页 > 网上说关于background:transparent可以取到蒙板后的元素,亲测不对呢?求讨论

网上说关于background:transparent可以取到蒙板后的元素,亲测不对呢?求讨论

最初遇到这个问题是在自己的项目中遇到transparent属性(本人小白,初入前端,多包涵),对此作用不是太了解,然后百度多方查到它的作用,我发现好多人都好懒,百度到别人的东西,就直接复制到自己的博客中,代码都一样的。好好学习了并试验了一下才发现,是有问题的,在些关于transparent属性,想多和大家讨论一下。

上一下原文地址:http://www.studyofnet.com/news/547.html

我自己写的js是

var cover = document.getElementById("cover");
cover.style.position="absolute";
cover.style.width=document.body.clientWidth+"px";
cover.style.height=document.body.clientHeight+"px";
cover.style.left="0px";
cover.style.top="0px";
cover.style.zIndex="2000";
cover.style.backgroundColor="red";
cover.style.filter="alpha(opacity="+0.2+");";
cover.style.opacity="0.3";

html是

<div class="warp">

<div class="up" onclick="alert('up');">up</div>
<div class="down" onclick="alert('down');"></div>

</div>
<div id="cover"></div>

css是
.warp{

position:relative;

}
.up,.down{

width:200px;
height:200px;
position:relative;
left:200px;

}
.up{

background:blue;

}
.down{

background:yellow;

}

原文中有这样一段话,我复制一下:

2、例如下面DIV

<div style="border:1px red solid;width:100px;height:100px" onclick="alert(1)">123</div>

正常情况下,只要你点击这个div的任何位置,都会alert的,但是当它被一个backgroundcolor为transparent的元素遮住的时候,我们只有点击123才会alert,因为文本是可以获得焦点的,同理其他元素也一样.
(希望把原文看一下,结合上下文)

在我的试验中并没有像作者所说,点击蒙板下方文字就会获得焦点啊。所以关于transparent属性的作用,就不是很了解了,希望有对这方面懂的朋友能回复我一下,最好是你做过,实验出结果,现在单凭百度点资料就回复别人的人太多了,很是误人。

以上,谢谢。


题主,我看了原文,并做了测试。有这样一段话:“主要看后面两行代码,如果我们没有上面代码的后两句,那么我们便可以对蒙板后的元素进行操作,也就是说起不到屏蔽的作用,但是这个操作是有限制的,具体说就是我们只可以对有焦点的元素进行操作,比如文本,图片,按钮等”,

我注释掉后两行代码,在 IE9 中测试,发现文本确实可以获得焦点,能弹出 alert 框,而在最新的 chrome 和 firebox 中都文本都不能获得焦点,弹不出 alert 框。

而一旦加上这两行代码,无论是 IE9, chrome, 还是 firebox 文本都不能获得焦点,也弹不出 alert 框。

【热门文章】
【热门文章】