html元素重叠 下面的元素仍然响应事件的解决
来源:互联网 发布:消失的夫妻笔录 知乎 编辑:程序博客网 时间:2024/05/28 17:07
其实就是pointer-events和elementFromPoint
对于两个div,div a覆盖了div b,但是要让div b能够接收到鼠标的事件,有两种方法:
1.在firefox chrome等支持CSS3浏览器中,有个css属性叫pointer-events,设置div a的 pointer-events: none,
于是a上经过的所有鼠标事件都会过滤掉而不触发,相当于事件从a上直接渗透到了b上,于是b能响应事件。这时给a绑定了事件,也不会触发。
2.在IE中没有css3的属性,但是要拿到这个事件,可以通过给body绑定鼠标事件,然后在事件响应里通过
document.elementFromPoint(e.clientX,e.clientY)来获取当前鼠标所在位置的元素,虽然事件不是由你想要的那个元素触发的,但是通过这种方式能把元素和事件联系起来,但是效率上没有直接获得那么高而已。
var obj = window;//var obj = document.body;var event = function(e){var targ = document.elementFromPoint(e.clientX,e.clientY);//targ 就是你需要响应事件的元素};var evt = "click";if(obj.addEventListener){obj.addEventListener(evt,event,false);}else if(obj.attachEvent){obj.attachEvent('on'+evt,event);}
- html元素重叠 下面的元素仍然响应事件的解决
- html的div元素响应onclick事件
- js动态加载元素的事件响应--jquery解决
- 定位元素的重叠
- JS 清除HTML 标签下面的元素
- HTML 元素的 ondragenter 事件
- 添加html元素的事件
- pointer-events:none解决重叠元素不能感应鼠标事件的问题
- CSS中pointer-events:none解决重叠元素不能感应鼠标事件的问题
- 解决HTML内部元素的Mouse事件干扰
- 解决HTML内部元素的Mouse事件干扰
- C#响应HTML的事件。如果获得触发的元素和事件
- 响应XUL元素的resize事件
- 响应非当前元素的js事件
- js 阻止子元素响应父元素的onmouseout事件
- reactjs做组件时html元素重叠的方法
- 判断两个html元素是否重叠的函数
- 如何让动态创建的页面元素响应用户事件 (HTML/javascript/jQuery/Ajax/DOM)
- java socket 架构 http 服务器(简易版)
- android.os.NetworkOnMainThreadException问题
- 选择排序
- Flex 安全沙箱 SecurityErrorEvent
- java 计算 水仙花 花朵数 算法 优化
- html元素重叠 下面的元素仍然响应事件的解决
- JAVA 书籍下载PDF
- 使用localStorage存储数据
- linux下实现USB口的热插拔
- Java过滤特殊字符的正则表达式
- Linux开启FTP(vsftpd)服务
- WebSphere与Tomcat部署中jsp的引号问题
- 动画效果 --Animation 总汇(动画专题研究一)
- java socket 服务器 http