我的jQuery函数存在问题:
/* 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();
});
});
当我加载页面并在加载完整站点之前单击链接时,不会阻止链接事件,并且我收到错误。如果站点未完全加载,我怎样才能确保始终阻止点击这些链接?
答案 0 :(得分:0)
将JavaScript片段放在标签中有问题的链接之后,并省略$(document).ready handler
这会导致代码在链接呈现到屏幕后立即执行
e.g。
<a href="..." class="vnav-item profile">Here</a>
<script>
$('.vnav-item.profile').on('click', function(e){
ajaxLoading($(this));
e.preventDefault();
});
</script>
(当然,jQuery必须包含在此之前的某处)