2011-02-02 2 views
0

Это то, что мой текущий ссылка выглядит следующим образом:HTML5: как отключить все ссылки после нажатия любой из них?

<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: события типа успех никогда не вызывается.

Это Teh сайт, который я работаю над: http://ttt-ai.heroku.com/

+0

"все ссылки" = все ссылки на странице? – sheeks06

+0

все ссылки после да нажимаются на странице. каждая из квадратных ссылок, a.square – NullVoxPopuli

ответ

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> 
1
var $a = $("a"); 

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

не нужно дважды пересечь, или если вы

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

Если у вас нет динамически изменяющихся ссылок? – jocull

+0

Ни одна из ссылок недоступна при загрузке страницы. возможно, поэтому ни один из ответов не работает. – NullVoxPopuli

+0

затем использовать функцию live для привязки к динамическим элементам – Harish

1

Вы можете использовать e.preventDefault().

3

Если вы хотите, чтобы отключить все ссылки на страницы, вы можете использовать это:

$("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> 
+3

Не нужно 'preventDefault()' и ' return false'. Это просто избыточно и избыточно –