繁体   English   中英

jQuery即兴确认/及时更换

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM