我想在点击链接时向用户显示加载屏幕。因此,当他们点击a href
宽度有效网址时,.load-overlay
会显示。
$('a,input[type=submit]').click(function(){
var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0;
if(bad) {
return false;
} else {
if ($("a").hasClass("noload")) {
return false;
} else {
$(".load-overlay").show();
});
return true;
}
return false;
});
但我网站上的某些网址target="_blank"
有a href
个属性,因此会打开一个新窗口。然而,在网站上它将显示加载覆盖,这是一件坏事,因为页面没有加载。
正如您在代码中看到的,我添加了几行:
$('a,input[type=submit]').click(function(){
var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0;
if(bad) {
return false;
} else {
if ($("a").hasClass("noload")) {// if the a href has the class .noload, do not display the loading overlay
return false;
} else {
$(".load-overlay").show();
});
return true;
}
return false;
});
但这不起作用。有人有想法解决这个问题吗?
答案 0 :(得分:0)
将此代码替换为您的代码以解决问题:
$('a,input[type=submit]').not('[target=_blank], .noload').click(function(){
var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0;
if(!bad) {
$(".load-overlay").show();
return true;
}
return false;
});