javascript - DIV事件置为空
PHP中文网
PHP中文网 2017-04-10 17:27:18
0
5
262

<p class="1"></p>
<p class="2"></p>
2覆盖在1的上面。但是现在需要点击2的时候任然触发点击1的事件。
(实际情况是。p1其实是一个比较复杂的dom结构。因为视觉需求现在需要在这个dom结构上蒙上一层图层(因为架构问题不考虑使用svg实现),这个图层仅仅作显示效果没有交互。但是如果蒙上这层图层会影响到下面dom的一些列交互,有没有办法,蒙在上面的这层p相当于交互来说是不存在的)

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(5)
Peter_Zhu

css就可以做到,pointer-events:none;

黄舟

你可以先给它们分别添加事件,然后在点击2的时候,主动触发1的事件,用jquery里的trigger就可以实现

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<p class="a">1</p>
<p class="b">2</p>
</body>
</html>
$(function(){
  $('.a').on('click',function(){
    alert(1);
  });
  $('.b').on('click',function(){
    
    alert(2);
    $('.a').trigger('click');
  });
});
刘奇

点击p2触发p1?

那你p2的触发事件倒是写出来啊,还有p1触发效果是什么样子的?

讲的不清不楚,怎么帮你呢?

PHPzhong

意思是页面上的布局p2覆盖了p1所以点不到p1?然后要求点p2的时候还是可以出发p1的点击是吧?很简单啊,你在p2的click处理事件中取到p1然后trigger它的click事件就ok了啊

大家讲道理
<p onclick="fun()" class="1"></p>
<p class="2"></p>

$(".2").click(function(){
    fun();
});
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage