2014-05-12 57 views
0

我正在将一个文件加载到一个div中,然后尝试强制该文件中的所有链接在div中加载,否则会导致浏览器进入新页面。使用If语句附加一个事件处理程序

我不明白为什么这个工程(用户将通过网页在仅#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

这是一个错误,你不能这样做,在if语句,它应该是'如果(URL = = “#” || URL ==““){' – adeneo

+0

哎呀..谢谢。 1 – user3600205

回答

2

这是因为您的if声明的签名错误,url == "#" || " "这总是会计算为true

尝试,

if (url == "#" || url == " "){ 
相关问题