希望足够简单,在下面的示例中,我希望链接的蓝色部分是可点击的(作为链接),但红色部分不是。我打算用Javascript订阅红色部分的onclick事件。
花了一个小时在这上面,无处可去!有人知道怎么做吗?
.outer{
width:300px;
height:50px;
background-color:blue;
position:relative;
display:block;
color:white;
z-index:1;
}
.inner{
width:150px;
height:25px;
background-color:red;
top:0;
right:0;
position:absolute;
pointer-events:none;
z-index:2;
}
<a href="http://google.co.uk" class="outer">
Clickable
<div class="inner">
Not clickable
</div>
</a>
我认为内部div具有更高的z-index而没有指针事件会这样做,但似乎不起作用。
有人有什么想法吗?
答案 0 :(得分:7)
而不是像那样黑客攻击html,这是一个非常糟糕的做法。为什么不:
.outer {
background-color: red;
display: inline-block;
}
.inner {
background-color: blue;
width: 300px;
display: inline-block;
}
span {
display: inline-block;
}
<div class="inner">
<a href="http://google.co.uk" class="outer">Clickable</a>
<span>Not clickable</span>
</div>
答案 1 :(得分:4)
使用preventDefault方法。
$('.inner').click(function(e){
e.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<a href="http://google.co.uk" class="outer">
Clickable
<div class="inner">
Not clickable
</div>
</a>