【问题标题】:Disable all clickable links once 1 link has been clicked in jquery在 jquery 中单击 1 个链接后禁用所有可单击链接
【发布时间】:2012-10-05 14:36:33
【问题描述】:

我有一组链接:

<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")
});

【问题讨论】:

    标签: jquery list button removeall


    【解决方案1】:

    您的标记无效,您有未关闭的锚链接:

    <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")
    

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        • 1970-01-01
        • 2011-09-23
        • 2013-04-10
        • 2017-04-17
        相关资源
        最近更新 更多