我正在将文件加载到div中,然后尝试强制该文件中的所有链接加载到div中,否则它们会将浏览器带到新页面。
我无法理解为什么会这样(用户只能在#login div中浏览网页):
$(document).ready(function() {
$('#login').load("indexLogin.php",function(){
$('#login').on("click", 'a', function(event){
var url = $(this).attr('href');
event.preventDefault();
$('#login').load(url);
});
});
});
但这不是(每个链接都被视为下拉列表);
$(document).ready(function() {
$('#login').load("indexLogin.php",function(){
$('#login').on("click", 'a', function(event){
var url = $(this).attr('href');
if (url == "#" || " "){
console.log("dropdown");
return;
}else{
event.preventDefault();
$('#login').load(url);
}
});
});
});
我认为逻辑是: 1.通过回调将处理程序单击附加到所有'a' 2.回调运行,设置var,检查var,并执行结果
相反,它似乎在说:如果任何'a'是“#”或“”然后返回。为什么呢?
答案 0 :(得分:2)
这是因为您的if
声明的签名有误,url == "#" || " "
这将始终评估为true
。
尝试,
if (url == "#" || url == " "){