我想創建這樣定製確認框暫停執行
var should_I_move_forward = myconfirmbox();
myconfirmbox一個自定義的確認框會顯示是/否按鈕彈出,我想在這裏暫停執行,直到用戶打yes或no ,我該如何實現它?
即與js相同的功能確認方法購買我自己的用戶界面。
我想創建這樣定製確認框暫停執行
var should_I_move_forward = myconfirmbox();
myconfirmbox一個自定義的確認框會顯示是/否按鈕彈出,我想在這裏暫停執行,直到用戶打yes或no ,我該如何實現它?
即與js相同的功能確認方法購買我自己的用戶界面。
你不能。
你必須移動後面的myconfirmbox
方法中確認的邏輯,或將其作爲參數傳遞(按需調用)..
像
function ConfirmYes(){
// do something for Yes
}
function ConfirmNo(){
// do something for No
}
function myconfirmbox(yesCallback, noCallback){
// whatever you currently do and at the end
if (confirmation == 'yes'){
yesCallback();
} else {
noCallback();
}
}
myconfirmbox(ConfirmYes, ConfirmNo);
我根本沒有優雅,但它對我來說工作得很好!我創建一個自定義的確認功能,如:
function jqConf(msg,y,n){
$('body').append('<div id="confirmBox">msg</div>');
$('#confirmBox').append('<div id="confirmButtons"></div>');
$('#confirmButtons').append('<button onclick="'+y+'();">Yes</button>');
$('#confirmButtons').append('<button onclick="'+n+'();">No</button>');
}
function defaultYes(){
alert('Awesomeness!');
}
function defaultNo(){
alert('No action taken!');
}
的我用這樣的:
<button onclick="jqConf('Do you love me?','defaultYes','defaultNo')">Confirm</button>
這樣,我作爲一個字符串傳遞到運行該函數的名稱,如果是,如果沒有個別及由用戶事件執行。
正如我所說,沒有優雅,但它的工作!,沒有循環或混亂的代碼,我認爲呢?,在這個例子中,我使用jQuery,但也可以用純JavaScript完成!
暫停執行什麼?只需從確認框中回撥即可 –