【发布时间】:2014-05-12 04:45:30
【问题描述】:
我正在将文件加载到 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”是“#”或“”,则返回。为什么?
【问题讨论】:
-
这是一个错误,你不能在if语句中这样做,它应该是
if (url == "#" || url == " "){