2017-09-04 83 views
2

我想返回結果代替false.Please幫助我,已經嘗試使用窗口對象並將其放入一個變量然後訪問。在javascript函數中返回結果代替false

$(document).ready(function() { 
    $('#confirm').on('click', function() { 
    bootbox.confirm("Are You Sure ?", function(result) { 
     bootbox.alert("Confirm result: " + result) 
    }); 
    return false; 
    }); 
}); 

回答

2

bootbox.confirm是一個異步操作,不像window.confirm直到用戶做出選擇停止其執行的Javascript。因此,如果您打算在用戶確認或取消後執行某些操作,則可以在回調函數中執行此操作。但是你不能把它作爲價值來回報。你可以做這樣的事情:

function userHasConfirmed() { 
 
    console.log("yay!"); 
 
} 
 

 
$(document).ready(function() { 
 
    $('#confirm').on('click', function() { 
 
    bootbox.confirm("Are You Sure ?", function(result) { 
 
     // The code here is executed only after the user makes a choice. 
 
     bootbox.alert("Confirm result: " + result) 
 
     if (result) { 
 
     userHasConfirmed(); 
 
     } 
 
    }); 
 

 
    // The code here does not wait for the user to make a choice. 
 
    console.log("Asked the user to make a choice, but they may or may not have made a choice yet!"); 
 
    }); 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.4.0/bootbox.min.js"></script> 
 

 
<div id="confirm">Click me!</div>

0

您使用的是匿名函數作爲一個事件偵聽器的回調,如果你想要做的結果是什麼,你可以在此功能,或者另一種方法做就是將一個函數作爲參數傳遞給點擊事件的「點擊」事件寄存器。

$(document).ready(function() { 

    onClickCallback(e){ 
     //do something here 
    } 

    $('#confirm').on('click', onClickCallback); 
}); 
0

謝謝你們我想通了這out.Code上面這樣工作

$(document).ready(function() { 
     $('#confirm').on('click', function() { 
      bootbox.confirm("Are You Sure ?", function (result) { 
       if(result == true){ 
        window.location.href = $('#confirm').attr('href'); 
       } 
      }); 
      return false; 
     }); 
    });