2016-11-02 20 views
1

アンカータグは、<li>タグで囲まれており、すべてが<ul>に追加されています。各アンカータグのclickイベントで、コントローラにajaxリクエストがあり、 。今度は、アンカータグを2回クリックすると、アンカータグがクリックまたはクリックされて、Ajaxコールが再作成されないようにします。問題はアンカー<a>タグのクリック数を確認する方法です。複数のアンカータグにはそれぞれ1回のクリックイベントがあります

私のHTMLコードはここにある:

<ul class="nav nav-pills"> 

</ul> 

、スクリプト部分:

for (var c in data.categoryTypes) 
{                         
    $('< a/>').attr('href','#'+data.ABC[c]).attr('data-toggle', "pill").text (data.ABC[c]).wrap('< li id='+c+'/>').parent().appendTo('.nav.nav-pills'); 
} 

Clickイベントはこちらです:

$('ul').on('click', 'li', function (e) 
{ 
    var categoryValue = $(this).text(); 
    alert(categoryValue); 
    e.preventDefault(); 
}); 

答えて

0

することができますクリックした後に無効のようなクラスを追加しますリンクとajax呼び出し後にクラスを削除します

$('ul').on('click', 'li:not("disabled")', function (e) 
{ 
     $(this).addClass('disabled'); //add the class 
     var categoryValue = $(this).text(); 
     alert(categoryValue); 
     e.preventDefault(); 
     //do a ajax call, In ajax success remove the class disabled. 
      $(this).removeClass('disabled'); 
    }); 
+0

リンクはまだ2回クリック可能で、e.preventDefault();は動作していません –

+0

'e.preventDefault()'はアンカータグhrefリンクのナビゲーションを禁止します... – CNKR

関連する問題