<p class="1"></p><p class="2"></p>2覆盖在1的上面。但是现在需要点击2的时候任然触发点击1的事件。(实际情况是。p1其实是一个比较复杂的dom结构。因为视觉需求现在需要在这个dom结构上蒙上一层图层(因为架构问题不考虑使用svg实现),这个图层仅仅作显示效果没有交互。但是如果蒙上这层图层会影响到下面dom的一些列交互,有没有办法,蒙在上面的这层p相当于交互来说是不存在的)
认证高级PHP讲师
css就可以做到,pointer-events:none;
pointer-events:none;
你可以先给它们分别添加事件,然后在点击2的时候,主动触发1的事件,用jquery里的trigger就可以实现
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触发效果是什么样子的?
讲的不清不楚,怎么帮你呢?
意思是页面上的布局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(); });
css就可以做到,
pointer-events:none;
你可以先给它们分别添加事件,然后在点击2的时候,主动触发1的事件,用jquery里的
trigger
就可以实现点击p2触发p1?
那你p2的触发事件倒是写出来啊,还有p1触发效果是什么样子的?
讲的不清不楚,怎么帮你呢?
意思是页面上的布局p2覆盖了p1所以点不到p1?然后要求点p2的时候还是可以出发p1的点击是吧?很简单啊,你在p2的click处理事件中取到p1然后trigger它的click事件就ok了啊