2013-05-26 106 views
0

我有問題,我的jQuery的功能:防止JavaScript的前點擊加載

 /* Vertical Profil Navigation */  
    $(document).ready(function() { 
     function ajaxLoading(obj){ 
      var dataString = obj.attr('href'); 

      if(obj.attr('rel') != '#default'){ 
       $.ajax({ 
        type: "GET", 
        url: "profile.php", 
        beforeSend: function() { $("#countrydivcontainer").html('<h2 class="title">Loading</h2><div style="text-align:center;"><img src="images/loader.gif" /></div>'); }, 
        data: dataString, 
        success: function(data){ 
         $("#countrydivcontainer").html(data); 
        } 
       }); 
      } 
     } 

     $('.vnav-item.profile').on('click', function(e){ 
      ajaxLoading($(this)); 
      e.preventDefault(); 
     }); 
    }); 

當我加載頁面,然後點擊完成站點之前的鏈接被加載,不阻止鏈接事件我收到一個錯誤。我怎樣才能確保點擊這些鏈接始終阻止事件,儘管網站沒有完全加載?

Visit site

回答

0

放了JavaScript片段標記有問題的鏈接後,並省略$(文件)。就緒處理

這將導致代碼的鏈接呈現給後立即執行屏幕

eg

<a href="..." class="vnav-item profile">Here</a> 
<script> 
    $('.vnav-item.profile').on('click', function(e){ 
     ajaxLoading($(this)); 
     e.preventDefault(); 
    }); 
</script> 

(當然,jQuery的必須某處在此之前包括)

+0

遺憾的是它並沒有在所有如果我試試這個工作! – enyce12

+0

如果您的控制檯出現錯誤,請確保修復這些錯誤。 ''ajaxLoading''也必須在此之前被定義(它最初是在你的文檔就緒處理程序中執行的)如果你不使用HTML5,你需要執行