<p class="1"></p>
<p class="2"></p>
2覆盖在1的上面。但是现在需要点击2的时候任然触发点击1的事件。
(实际情况是。p1其实是一个比较复杂的dom结构。因为视觉需求现在需要在这个dom结构上蒙上一层图层(因为架构问题不考虑使用svg实现),这个图层仅仅作显示效果没有交互。但是如果蒙上这层图层会影响到下面dom的一些列交互,有没有办法,蒙在上面的这层p相当于交互来说是不存在的)
黄舟2017-04-10 17:29:18
你可以先给它们分别添加事件,然后在点击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');
});
});
PHPz2017-04-10 17:29:18
意思是页面上的布局p2覆盖了p1所以点不到p1?然后要求点p2的时候还是可以出发p1的点击是吧?很简单啊,你在p2的click处理事件中取到p1然后trigger它的click事件就ok了啊
大家讲道理2017-04-10 17:29:18
<p onclick="fun()" class="1"></p>
<p class="2"></p>
$(".2").click(function(){
fun();
});