backgroundcolor为transparent的元素的事件会对被它遮住的元素所截获.如果我们所触发的对象没有焦点,那么事件会交换给transparent的元素处理并按这个元素进行冒泡,否则有焦点的会事件便由有焦点的那个对象处理,不会交换,并且按有焦点的元素进行冒泡
1、例如如下一个div的蒙板,该功能实现屏蔽用户对网页上的其他元素进行操作.
div.style.position=
"absolute"
;
div.style.width=document.body.clientWidth+
"px"
;
div.style.height=document.body.clientHeight+
"px"
;
div.style.
left
=
"0px"
;
div.style.
top
=
"0px"
;
div.style.zIndex=
"2000"
;
div.style.backgroundColor=
"black"
;
div.style.filter=
"alpha(opacity="
+
0
+
");"
;
主要看后面两行代码,如果我们没有上面代码的后两句,那么我们便可以对蒙板后的元素进行操作,也就是说起不到屏蔽的作用,但是这个操作是有限制的,具体说就是我们只可以对有焦点的元素进行操作,比如文本,图片,按钮等。
2、例如下面DIV
<div style="border:1px red solid;width:100px;height:100px" οnclick="alert(1)">123</div>
正常情况下,只要你点击这个div的任何位置,都会alert的,但是当它被一个backgroundcolor为transparent的元素遮住的时候,我们只有点击123才会alert,因为文本是可以获得焦点的,同理其他元素也一样.
参考资料: css中的background:transparent的作用 http://www.studyofnet.com/news/547.html