2015-02-06 84 views
0

我有刪除按鈕,它會彈出yes或no按鈕。 當我點擊刪除它會顯示按鈕,並應該綁定點擊它們,之後,當用戶按回答我想返回值的第一個功能。我能用2-3個功能做到嗎?Javascript單擊函數返回?

function ask(){ 
    var answer; 
    $(".menu-3").transition({ 
     marginTop: "0px" 
    }, 200); 
    $("#yes").bind("click", function() { 
     answer = "yes"; 
     return answer; 
    }); 
    $("#no").bind("click", function() { 
     answer = "no"; 
     return answer; 
    }); 
} 
$("#delete").click(function(answer){ 
    var answer = ask(); 
}) 
+0

不,這不是事件處理程序在Javascript中是如何工作的。當你調用ask()時,它會安裝兩個事件處理程序然後返回。那些事件處理程序將在未來的某個時間被調用。同時'ask()'函數已經返回了它的值。這些事件處理程序中的一個根本無法爲「ask()」的返回值做出貢獻。 – jfriend00 2015-02-06 10:07:15

+0

我該如何做到最好的方式? – 2015-02-06 10:12:04

+0

我不清楚你想要完成什麼。您需要在單擊按鈕時執行代碼中的操作,而不是從事件處理程序返回值。 Javascript是事件驅動的。您響應事件並編寫在這些事件處理程序中執行某些操作的代碼。 – jfriend00 2015-02-06 10:14:20

回答

0

你需要做的是這樣的

$("#delete").on("click",function(){ 
    $(".menu-3").animate({ 
     marginTop: "0px" 
    }, 200); 
    $(".buttons").on("click", function() { // give the yes/no a class 
     if (this.id=="yes") process(); 
     $(".menu-3").hide(); // remove dialog 
    }); 
}) 

function process() { 
    // here someone clicked yes 
}