在jquery中单击1个链接后禁用所有可单击的链接

时间:2012-10-15 15:17:24

标签: jquery list button removeall

我有一组链接:

<div id="dd" class="mywrap-dropdown-2" tabindex="2">Select
    <ul class="dropdowner" id="coll-filter">
        <li><a href="#">Black</a></li>
        <li><a href="#">White</li>
        <li><a href="#">Blue</li>
    </ul>
</div> 

如果点击“白色”链接,则我的链接“黑色”和“蓝色”将不再可点击。

这是我所拥有但不起作用的:

$( '.dropdowner' ).on( 'click', 'li', function( e ) {
    e.preventDefault();  
    $(".dropdowner li a").not(this).removeAttr("href")
});

2 个答案:

答案 0 :(得分:2)

你的标记是不完整的,你有未公开的锚链接:

<li><a href="#">White  </li>
<li><a href="#">Blue   </li>

请注意,在您的代码this中,li元素不是锚链接,您应该选择锚链接而不是li元素。

$( '.dropdowner' ).on( 'click', 'a', function( e ) {

或:

$(".dropdowner li").not(this).find('a').removeAttr("href")

答案 1 :(得分:0)

unbind()取消绑定与该类关联的所有点击事件

 $('.dropdowner').on('click', 'a', function(e) {
    e.preventDefault();
    if ($(this).text().indexOf('White') > -1) {
        alert('Clicked Link with White..')
        $('.dropdowner a').not(this).unbind();
    } else {
        alert('Other Links Cliked');
    }
});​

试试这个..当点击黑色链接时,这将删除其他链接的点击事件..

CHECK FIDDLE