2013-07-30 56 views
0

我有一個的onclick功能工作,返回false似乎並不在此javascript函數

$("#mymodal").on("click",".close",function() { 
    checkpincode(); 
    checkzipcode(); 
}); 

和FN checkpincode返回false但執行仍繼續和我的checkzipcode功能得到執行。任何想法爲什麼這種行爲?

+0

一個返回內'checkpincode假()'只導致該函數返回。在返回時,執行控制返回給調用範圍,在這種情況下是您的點擊回調。所以'checkzipcode()'像往常一樣被調用。 – godfrzero

回答

4

你需要

$("#mymodal").on("click",".close",function() { 
    if(!checkpincode()){ 
     return false; 
    } 
    checkzipcode(); 
}); 

$("#mymodal").on("click",".close",function() { 
    checkpincode() && checkzipcode() 
}); 
2

checkpincode()return值傳遞給click處理程序中的調用語句,並不意味着它將導致返回調用checkpincode()的函數。您可以使用if語句有條件地執行checkzipcode()函數。

$("#mymodal").on("click",".close",function() { 
    if(checkpincode()) 
     checkzipcode(); 
}); 

詳細瞭解您可以指定返回值的形式checkpincode(),並用它來調用checkzipcode();

$("#mymodal").on("click",".close",function() { 
    result = checkpincode(); 
    if(result) 
     checkzipcode(); 
    //return result; //if you want. 
});