2014-06-17 42 views
0

禁用HREF我有一个选项卡显示/隐藏系统,该系统的工作原理,但我需要当它到达最后的“标签”上最后一个项目

演示here

向下滚动,从点击事件删除HREF点击最右边的+图标,它会改变图像(有3个“标签”,它不会停在最后一个,它显示一个空白区域

JS

$('#popular .next').click(function() { 
    $('#popular .current') 
     .removeClass('current') 
     .hide() 
     .next() 
     .show() 
     .addClass('current'); 
    if ($('.current').hasClass('last')) { 
     $('#popular .next').removeAttr('href'); 
    } 
}); 

任何帮助,将不胜感激

+0

您需要解除绑定单击事件不删除href。看到我的工作演示和答案[这里](http://stackoverflow.com/questions/24263946/disable-href-on-last-item/24264076#24264076) –

回答

5

Demo

这是没有必要删除href,你需要从像你加链接unbindclick事件;

$('#popular .next').click(function() { 
    $('#popular .current').removeClass('current').hide() 
    .next().show().addClass('current'); 
    if ($('.current').hasClass('last')) { 
    $(this).unbind('click'); 
    } 
}); 
+0

Perfecto,我有一个解除其他选项卡之一没有工作,但改变为$(这)工作。 –

1

我没有看到任何href属性,但从我看到你需要删除点击处理程序。

if ($('.current').hasClass('last')) { 
    $(this).off('click'); 
} 
1

使用.unbind().off()因为没有href属性。

$('#popular .next').click(function() { 
    $('#popular .current') 
     .removeClass('current') 
     .hide() 
     .next() 
     .show() 
     .addClass('current'); 

    if ($('.current').attr('id') === 'tab3') { 
     $(this).unbind('click'); 
    } 
});