如果菜单中的链接多次单击,则Jquery加载功能不会停止。
jquery代码如下:
$(document).ready(function(){
$(".menu_rfr").unbind("click").click(function() {
$("#main").html('<img src="img/spin.gif" class="spin">');
location.replace($(this).attr('rel'));
});
function handleClick() {
$(this).unbind("click");
$("#main").html('<img src="img/spin.gif" class="spin">');
$("#main").load($(this).attr('rel'), function() {
// reactivate it after some loading has completed
$(this).click(handleClick);
});
}
$(".menu_clickable").click(handleClick);
});
您可以在link text
看到示例页面如果未完全加载DIV内容且永不结束DIV加载,如何阻止用户点击?
答案 0 :(得分:0)
handleClick中的$(this)不是指元素。
这里有一些代码可以解决这个问题。我认为它会起作用,但我不是在计算机上我可以测试它。
$(document).ready(function(){
$(".menu_rfr").click(function() {
$("#main").html('<img src="img/spin.gif" class="spin">');
location.replace($(this).attr('rel'));
});
function handleClick(ele) {
$(ele).unbind("click");
$("#main").html('<img src="img/spin.gif" class="spin">');
$("#main").load($(this).attr('rel'), function() {
// reactivate it after some loading has completed
$(ele).bind('click',function(event){bindClick(event.target);});
});
}
function bindClick(ele){
$(ele).bind('click',function(event){
handleClick(event.target);
});
}
$(".menu_clickable").each(function(){
bindClick($(this));
});
});