【问题标题】:HTML5: how do I disable all links after any one of them are clicked?HTML5:单击任何一个链接后,如何禁用所有链接?
【发布时间】:2011-02-06 07:25:50
【问题描述】:

这是我当前链接的样子:

<a href="/board/take_turn?id=313&x=1&y=2" data-remote="true" class="square"> <span class="ttt_square"> &nbsp; </span> </a>

我知道这不是 ajax,因为 jQuery ajax:success 类型事件从未被调用过。

这是我正在开发的网站:http://ttt-ai.heroku.com/

【问题讨论】:

  • "所有链接" = 页面中的所有链接?
  • 页面上点击yes后的所有链接。每个方形链接,a.square

标签: javascript jquery html


【解决方案1】:

如果你想禁用页面上的所有链接,你可以使用这个:

$("a").live('click', function(e) {
    e.preventDefault;
    return false;
});

或者您可以像这样定位特定链接:

$("a.disabledLink").live('click', function(e) {
    e.preventDefault;
    return false;
});

<a href="/board/take_turn?id=313&x=1&y=2" data-remote="true" class="disabledLink">
    <span class="ttt_square">&nbsp;</span>
</a>

【讨论】:

  • 不需要preventDefault()return false。那只是多余和多余的
【解决方案2】:

试试这个,

<script type="text/javascript">
    $(function() {
        $('a').click(function() {
           $(this).attr('href', 'javascript:void(0);');
        });
    });
</script>

如果您要在链接中添加一个类以更具体;比方说

<a class="disableAfterClick" href="/board/take_turn?id=313&x=1&y=2" data-remote="true"> <span class="ttt_square"> &nbsp; </span> </a>

<script type="text/javascript">
    $(function() {
        $('a.disableAfterClick').click(function() {
           $(this).attr('href', 'javascript:void(0);');
        });
    });
</script>

【讨论】:

    【解决方案3】:

    您可以使用 e.preventDefault() 。

    【讨论】:

      【解决方案4】:
      var $a = $("a");
      
      $a.click(function() {
           $a.click(function(e) {
               e.preventDefault();
           }
      });
      

      不需要遍历两次,或者如果你这样做了

      $("a").live("click", function() {
           $("a").click(function(e) {
               e.preventDefault();
           }
      });
      

      【讨论】:

      • 除非你有动态变化的链接?
      • 在页面加载时没有可用的链接。这可能就是为什么所有答案都不起作用的原因。
      • 然后使用live函数绑定动态元素
      • 实时添加; @DerNalia 你知道,如果你包括所有必要的细节,帮助会容易得多,很难猜到
      猜你喜欢
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多