2014-05-12 103 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 == " "){ 
相關問題