`
flex_莫冲
  • 浏览: 1075242 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript 同zindex的重叠div如何处理事件关系

 
阅读更多
在一个页面中有3个独立的div,不存在嵌套层次关系。3个div互有重叠,如何控制监听事件的层次关系。比如div2盖住部分div1.点击重叠部分如何让div1监听到?
测试代码:
<html>
	<script src="jquery-1.8.0.min.js" type="text/javascript"></script>
	<script type="text/javascript">
	</script>
	<style>
		div{
			width:200px;
			height:200px;
			position: absolute;
		}
		#rec1{
			background-color: yellow;
			opacity:0.7;
			background-color: transparent none;
			z-index: 1;
		}
		#rec2{
			background-color: red;
			opacity:0.7;
			left:100px;
			z-index: 2;
		}
		#rec3{
			background-color: blue;
			opacity:0.7;
			left:200px;
			z-index: 3;
		}
	</style>
	<script type="text/javascript">
		$(document).ready(function(){
			var rec1 = document.getElementById("rec1");
			var rec2 = document.getElementById("rec2");
			var rec3 = document.getElementById("rec3");
			rec1.addEventListener("click",function(event){
				console.log(event);
				event.stopPropagation;
				event.preventDefault();

				console.log("rec1");
			},false);
			rec2.addEventListener("click",function(event){
				console.log(event);
				event.stopPropagation;
				event.preventDefault();
				console.log("rec2");
			},false);
			rec3.addEventListener("click",function(event){
				console.log(event);
				event.stopPropagation;
				event.preventDefault();

				console.log("rec3");
			},false);
			
		})
	</script>
	<body>
		<div id="rec1"></div>
		<div id="rec2"></div>
		<div id="rec3"></div>
	</body>
</html>


我的解决方案:
若监听的是rec1,则给rec1添加一个rec1Wrapper,z-index为最高,rec1Wrapper监听click事件并触发rec1的点击事件。

rec1Wrapper.addEventListener("click",function(event){
				$("#rec1").trigger("click");
			},false);

<div id="rec1Wrapper"></div>
#rec1Wrapper {
			z-index:99;
		}
分享到:
评论

相关推荐

    JavaScript+div 半透明弹出层

    JavaScript+div 半透明弹出层,function openNewDiv(_id) { var m = "mask"; if (docEle(_id)) document.removeChild(docEle(_id)); if (docEle(m)) document.removeChild(docEle(m)); // 新激活图层 var newDiv...

    Div 制作的SELECT

    用DIV模仿SELECT下拉框 function replaceSelects() { try{ for (i=0;i;i++){ // 隐藏 select selects[i].style.display = 'none'; select_divTag = document.createElement('div'); select_divTag.id = ...

    javascript 通过封装div方式弹出div窗体

    图2(弹出多个)构造函数: 代码如下: var DivWindow= function(popup/*最外层div id*/,popup_drag/*拖动div id*/,popup_exit/*退出按钮id*/ ,exitButton/*触发服务器端退出按钮id*/,varwidth,varheight,zindex){ ...

    妙用z-index让一个div显示在最前面

    position定位如果有重叠的时候,z-index愈大,就显示在最上面 此时我们就可以设置div的css样式z-index:99999,那么该div就显示在最前面

    有关zindex的一些理解

    有关z-index 的一些理解(包括static / relative / absolute / fixed)

    JavaScript与Div对层定位和移动获得坐标的实现代码

    z=obj.style.zIndex //获取对象的z轴坐标值 //设置对象的z轴坐标值为100,确保当前层显示在最前面 obj.style.zIndex=100 x=event.offsetX //获取鼠标指针位置相对于触发事件的对象的X坐标 y=event.offsetY

    zindex, 在压缩的文本文件上,创建索引.zip

    zindex, 在压缩的文本文件上,创建索引 zindex 在time-和空间高效的文本文件中创建和查询基于压缩的行的索引。我的痒我有很多multigigabyte文本压缩日志文件,我希望能够通过索引在它们中找到数据。 每一行都有一个...

    JavaSript所有事件处理(基本上常用的)

    javascript 的所有动作包括一些HTML中常用的JS动作都有描述,很有用;

    javascript 动态改变层的Z-INDEX的代码style.zIndex

    javascript 动态改变层的Z-INDEX的代码style.zIndex

    设置div的z-index属性让div在另外一个div之上

    建站最常见的一个问题就是怎么让一个div在另外一个div之上呢?经搜索,寻得不错的解决方法,设置div的z-index属性,让div永远在上

    HTML5&CSS3网页制作:zindex层叠等级属性.pptx

    z-index层叠等级属性 z-index层叠等级属性 01 z-index层叠等级属性 当对多个元素同时设置定位时,定位...了解当多元素发生重叠时可使用z-index属性调整重叠顺序 熟知掌握z-index属性的语法格式能熟练运用 总结 THANKS

    WPF学习笔记--布局篇

    Canvas:最基本的面板。仅支持用显示坐标定位元素。...具较大ZIndex值的元素将被呈现在具较小ZIndex值的元素之上。若多个子元素拥有相同大小ZIndex值,则在面板中的Children集合中的顺序决定该顺序。

    javascript带颜色的欢迎窗口

    &lt;script language="javascript"&gt; var IE5=(document.getElementById && document.all)? true : false; var W3C=(document.getElementById)? true: false; var currIDb=null, currIDs=null, xoff=0, yoff=0; zctr=0; ...

    Web遮罩層的實現方式

    div.style.zIndex="19999"; div.style.position="absolute"; div.style.backgroundColor="black"; div.style.left="0px"; div.style.top="0px"; div.style.filter="alpha(opacity=80)"; div.style.opacity=...

    动态改变div的z-index属性的简单实例

    代码如下:[removed] var MAX_INDEX=4; function change(ddd) { if(ddd....div id=”layer1″ onclick=”[removed]change(this);” style=”position:absolute;margin-left:100;margin-top:50px;margin-=100;width=100

    div层调整z-index属性在IE中无效原因分析及解决方法

    在写css代码时发现了一个很简单却又很多人应该碰到的问题,设置Z-INDEX属性无效,要让z-index起作用有个小小前提,就是元素的position属性要是relative,absolute或是fixed,感兴趣的朋友可以了解下,希望可以帮助到...

    bindtap点击无响应-zindex.rar

    `position: relative;z-index: -1;`时,子控件无法点击

    显示div层js.txt

    DIV弹出层 ******************************/ var cTime; function OpenDivLayer(tag) { var divBackground = document.getElementById('divBackground'); var divShow = document.getElementById('divShow'...

    asp.net 自定义DropDownList(CustomDropDownList)(上一个有点bug)

    用DataGrid基于jQuery(实际上只用了它的按照类查找元素一个方法)写的自定义DropDownList,解决不能控制生成后的Select html控件不能控制zIndex而遮挡Div层及其他复杂样式,没有封装成dll,压缩包里是例子及所有用到...

Global site tag (gtag.js) - Google Analytics