[英]jquery impromptu confirm/prompt replacement
我正在尝试使用jquery和即兴编写用于警报/确认/提示替换的库代码。
我希望能够以相同的方式调用函数:
例如。 var getval = jConfirm("Are you sure?"); alert (getval);
我的功能:
function jConfirm(text, title){
var return_val = false;
$.prompt(text, {
title: title,
html: text,
buttons: { OK: true, Cancel: false },
callback:function(e,v,m,f)
{
return_val = v;
}
});
return return_val;}
该代码当前无需等待输入即可继续执行-警报立即显示,并且'getval'从不获取值。
如何以即席本机确认功能的即兴方式等待对话框的输入,并在继续之前返回值给getval?
您不能这样做,因为确认/警告/提示是JS函数,它们调用浏览器应用程序中代码的执行,该浏览器用允许创建真正的模态对话框的语言(例如C#,Java)编写:停止的窗口应用程序的执行,直到用户关闭或与之交互。 因此,就您而言,jConfirm方法无法像Alert那样停止页面的执行。 要执行您需要的操作,我建议将仅在用户单击“确定”后才在即席回调之后执行的回调传递给jConfirm方法。
jConfirm("Are you sure?","Confirm",dialogResult);
function dialogResult(v)
{
alert(v);
}
function jConfirm(text, title, dialogResultCallback) {
$.prompt(text, {
title: title,
html: text,
buttons: { OK: true, Cancel: false },
callback:function(e,v,m,f)
{
if(v)
dialogResultCallback(v);
}
});
}
在您太过深入地编写自己的对话框系统之前,您是否曾经看过jQuery ui? 它提供了创建模态对话框的简单功能。 http://jqueryui.com/dialog/#modal
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.