将点击传递到固定元素
Pass click through to fixed element
本文关键字:元素 更新时间:2023-09-26
我有一个静态元素位于固定元素之上。当上面的静态元素被点击时,我想把这个点击传递给固定元素。我该怎么做呢?下面是一个工作示例(我无法让它在JSFiddle中工作)。
<body>
<div class="lower" onclick="lowerClick()"></div>
<div class="upper" onclick="upperClick()"></div>
</body>
<script>
function lowerClick() {
alert("LOWER CLICK");
};
function upperClick() {
alert("UPPER CLICK");
};
</script>
//CSS file
.lower {
height: 100px;
width: 100%;
z-index: -1;
position: fixed;
background-color:blue;
}
.upper {
height: 50px;
width: 100%;
z-index: 1;
position: static;
background-color:red;
pointer-events: none;
}
我认为将pointer-events:none
添加到我的上部元素将使此工作,但是当我单击顶部元素时,什么也没有发生。
事实上,pointer-events:none
可以正常工作。但是阻止你点击lower
的是body
元素。由于在lower
上设置了z-index:-1
,它将被发送到其父(即body
)的后面。因此,您可以将body
的z-index
设置为更负的数字,当然postion
应该是static
以外的某个值(默认):
body {
z-index:-1000;
position:relative;
}
演示可以使用下面的css来设置上面的div
.upper {
pointer-events:none;
}
…还要避免负z-index,而是使用1表示下,2表示上。为什么把静态元素而不是绝对元素放在顶部?
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 根据元素和容器大小计算边距