我想创建这样定制确认框暂停执行
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完成!
暂停执行什么?只需从确认框中回拨即可 –