我希望这个最后li不要点。 像天猫一样的。 怎么用jquery排除最后一个事件啊?
<ul class="nav3">
<li class="on">
<a href="javascript:;">商品详情</a>
</li>
<li class=""><a href="javascript:;">商品评价 <span><?=count($reviews);?></span></a></li>
<li class=""><a href="javascript:;">售后保障</a></li>
<li class="mobile-buy">
<a>手机购买</a>
<img src="<?= $rs['goodsQrCode']?>" alt="手机购买">
</li>
</ul>
/评论点击切换效果/
var $p_li =$("ul.nav3 li");
$p_li.click(function(){
$(this).addClass("on").siblings().removeClass("on");
var index = $p_li.index(this);
$(".product-detail-de > p")
.eq(index).show()
.siblings().hide();
});`
我试过给 mobile-buy 加 pointer-events: none;
但鼠标悬停在这个二维码下面没有显示大图的二维码。 所以pinter-events:none不是好方法。
本人菜鸟,求大家遇到过的解决分享一下。
黄舟2017-04-10 16:54:10
我觉得楼上的两个方法都行,看你最后的需求了,
例如你这个手机购买,确定永远在 最后一个。那么使用
var $p_li =$("ul.nav3 li").not(':last');
比较好,这样子不怕 class的变化。
如果手机购买 不一定在最后一个,建议使用
var $p_li =$("ul.nav3 li").not('.mobile-buy');
就是以后不要更改 li的class就好。
PHPz2017-04-10 16:54:10
$('.nav3').on('click', 'li:not(:last)', function(event){
// 业务代码
});
或者:
$('.nav3').on('click', 'li', function(event){
var self = $(this);
if(self.hasClass('mobile-buy')){
return false;
}
// 业务代码
});