如何显示“JAlert”多次弹出?

发布于 2024-11-04 05:34:48 字数 235 浏览 4 评论 0原文

我知道我可以调用 alert('Warning1');alert('Warning2'); 它将显示 2 个警报。但是,当我使用 JAlert 页面 我无法显示多条警报消息。你们中有人使用过这个插件并解决了同样的问题吗?

I know I could call alert('Warning1');alert('Warning2');
and it will show 2 alerts. But, when I use JAlert plugin referred in JAlert Page I can't show multiple alert messages. Does any of you guys ever worked with this plugin and solved same problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

姜生凉生 2024-11-11 05:34:53

是的-所以我制作了一个示例 HTML 并测试了这个东西

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<!-- Dependencies -->
<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery-ui.min.js" type="text/javascript"></script>
<!-- Core files -->
<script src="jquery.alerts.js" type="text/javascript"></script>
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />

<script type="text/javascript"> 
        $(document).ready( function() {

          jAlert('This is a custom alert box', 'Alert Dialog', doAlert()  );

          function doAlert() {
              alert('CallBack')
          }

        });
</script> 

</head>

<body>
</body>

所以基于网站的文档

用途
该插件利用 $.alerts 命名空间,但有三个内置快捷函数&gt;使实现更容易:

jAlert(消息, [标题, 回调])

好的,现在这是 jQuery 文档的逻辑

  1. 准备启动
  2. jAlert 显示一个自定义框并根据定义应该执行回调 doAlert()
  3. 一旦第一个 jAlert 关闭,它将执行回调并打开 jALert 的另一个实例

实际发生的情况

  1. 函数 doAlert 在实际的 jAlert 之前触发调用回调
  2. 第一个 jAlert 触发 OK!但没有显示,因为已经存在 jAlert 实例,并且 jsut 忽略发生的任何事情

结论

该插件无法在内部处理多个调用,并且回调是错误的!因为它不是回调,而是在调用自身之前调用函数或等待初始 jAlert 被接受

解决方案

  1. 寻找另一个插件
  2. 创建一个内部 jScript 队列系统。不知怎的,基于这个插件的工作原理,

为什么要使用alert();然后工作吗??!?!?!?!?

因为当您调用 alert(); 时,代码执行会停止并等待,直到您按“确定”并继续执行代码。

所以我很遗憾地说,这个插件无法正常运行,我建议您找到另一个插件。

Right- so i made a sample HTML and tested this thing out

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<!-- Dependencies -->
<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery-ui.min.js" type="text/javascript"></script>
<!-- Core files -->
<script src="jquery.alerts.js" type="text/javascript"></script>
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />

<script type="text/javascript"> 
        $(document).ready( function() {

          jAlert('This is a custom alert box', 'Alert Dialog', doAlert()  );

          function doAlert() {
              alert('CallBack')
          }

        });
</script> 

</head>

<body>
</body>

So based on the docuemntation from the website

Usage
This plugin utilizes the $.alerts namespace, but there are three built-in shortcut functions >that make implementation easier:

jAlert(message, [title, callback])

Ok now this is the logic of the jQuery

  1. document ready starts
  2. jAlert shows a custom box and by defination should do the callback doAlert()
  3. As soon as the first jAlert clsoes it will do the callback and open another instance of jALert

What actually happens

  1. the function doAlert fires before the actual jAlert that is calling the callback
  2. the first jAlert fires OK! but does not show up because there is already a jAlert isntance and jsut ignores whatever happens

In conclusion

This plugin cannot handle multiple calls internally and the callback is wrong! because it is not calling back but calling a function before it calls its self or waits for the inital jAlert to be accepted

Solution

  1. Find another plugin
  2. Create an internal jScript queue system. somehow based on how terribly this plugin works

Why Does alert(); work then??!?!?!?!?

Because when you call alert(); the code execution STOPS and waits until you press OK and continues the code.

So i am sorry to say but this plugin is not functioning properly and i suggest you find another one maybe.

俯瞰星空 2024-11-11 05:34:53

我遇到了同样的问题并这样解决:
在 jquery.alerts.js 中,就在公共函数的注释之前,我插入了以下内容:

    raiseNextDialog: function() {
        $.alerts.callIsActive = false;
        if ($.alerts.waitingCalls.length>0) {
            var params = $.alerts.waitingCalls.shift();
            $.alerts._show(params[0], params[1], params[2], params[3], params[4]);
        }
    },
    dialogShallWait: function (title, msg, value, type, callback) {
        if ($.alerts.callIsActive) {
            $.alerts.waitingCalls.push([title, msg, value, type, callback]);
            return true; // can't show now
        } else {
            $.alerts.callIsActive = true;
            return false;
        }
    },

这个想法是,如果先前的对话框仍然打开,我们将调用推送到数组中,以便在对话框关闭时使用。

现在我们仍然需要在 _show() 函数的开头添加一行:

if ( $.alerts.dialogShallWait(title, msg, value, type, callback) ) return;

对于五个 .click() 处理程序,我们需要在调用回调后添加这一行:

$.alerts.raiseNextDialog();

就这样!

我想更新创建者的信息,但无法在他的网站上发表评论......
我正在使用此处演示的精彩版本,它使用标准主题。太棒了!

I had the same problem and solved it like this:
in the jquery.alerts.js, just before the comment for public functions, I have inserted this:

    raiseNextDialog: function() {
        $.alerts.callIsActive = false;
        if ($.alerts.waitingCalls.length>0) {
            var params = $.alerts.waitingCalls.shift();
            $.alerts._show(params[0], params[1], params[2], params[3], params[4]);
        }
    },
    dialogShallWait: function (title, msg, value, type, callback) {
        if ($.alerts.callIsActive) {
            $.alerts.waitingCalls.push([title, msg, value, type, callback]);
            return true; // can't show now
        } else {
            $.alerts.callIsActive = true;
            return false;
        }
    },

The idea is that if a previous dialog is still open, we push the call into array, to be used when the dialog is closed.

Now we still need to add a line to the beginning of the _show() function:

if ( $.alerts.dialogShallWait(title, msg, value, type, callback) ) return;

And for the five .click() handlers we need to add this line after calling the callback:

$.alerts.raiseNextDialog();

That's all!

I wanted to update the creator but there was no way to leave a comment in his site...
And I am using the wonderful version demonstrated here which uses standard themes. Just great!

小猫一只 2024-11-11 05:34:53

前面的答案部分正确,但未能定义保存多个警报的数组($.alerts.waitingCalls)。下面的代码替换了整个 jquery.alerts.js(整个包位于: http://code.google.com/p/jalert-plus/downloads/list

// jQuery Alert Dialogs Plugin
//
// Version 1.1 (extended)
//
// Cory S.N. LaViska
// A Beautiful Site (http://abeautifulsite.net/)
// 14 May 2009
//
// Mike Walters
// 27 December 2011
// http://code.google.com/p/jalert-plus/downloads/list
//
// Visit http://abeautifulsite.net/notebook/87 for more information
//
// Usage:
//      jAlert( message, [title, callback] )
//      jConfirm( message, [title, callback] )
//      jPrompt( message, [value, title, callback] )
// 
// History:
//
//      1.00 - Released (29 December 2008)
//
//      1.01 - Fixed bug where unbinding would destroy all resize events
//
//      DECEMBER 2011 - added ability to popup multiple alerts (mike walters)
//
// License:
// 
// This plugin is dual-licensed under the GNU General Public License and the MIT License and
// is copyright 2008 A Beautiful Site, LLC. 
//



(function($) {

    $.alerts = {

        // These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time

        verticalOffset: -75,                // vertical offset of the dialog from center screen, in pixels
        horizontalOffset: 0,                // horizontal offset of the dialog from center screen, in pixels/
        repositionOnResize: true,           // re-centers the dialog on window resize
        overlayOpacity: .01,                // transparency level of overlay
        overlayColor: '#FFF',               // base color of overlay
        draggable: true,                    // make the dialogs draggable (requires UI Draggables plugin)
        okButton: ' OK ',         // text for the OK button
        cancelButton: ' Cancel ', // text for the Cancel button
        dialogClass: null,                  // if specified, this class will be applied to all dialogs

        waitingCalls: new Array(),

        raiseNextDialog: function() {
            $.alerts.callIsActive = false;
            if ($.alerts.waitingCalls.length>0) {
                var params = $.alerts.waitingCalls.shift();
                $.alerts._show(params[0], params[1], params[2], params[3], params[4]);
            }
        },

        dialogShallWait: function (title, msg, value, type, callback) {
            if ($.alerts.callIsActive) {

                $.alerts.waitingCalls.push([title, msg, value, type, callback]);
                return true; // can't show now
            } else {
                $.alerts.callIsActive = true;
                return false;
            }
        },


        // Public methods

        alert: function(message, title, callback) {
            if( title == null ) title = 'Alert';
            $.alerts._show(title, message, null, 'alert', function(result) {
                if( callback ) callback(result);
            });
        },

        confirm: function(message, title, callback) {
            if( title == null ) title = 'Confirm';
            $.alerts._show(title, message, null, 'confirm', function(result) {
                if( callback ) callback(result);
            });
        },

        prompt: function(message, value, title, callback) {
            if( title == null ) title = 'Prompt';
            $.alerts._show(title, message, value, 'prompt', function(result) {
                if( callback ) callback(result);
            });
        },

        // Private methods

        _show: function(title, msg, value, type, callback) {


        if ( $.alerts.dialogShallWait(title, msg, value, type, callback) ) return;

            $.alerts._hide();
            $.alerts._overlay('show');

            $("BODY").append(
              '<div id="popup_container">' +
                '<h1 id="popup_title"></h1>' +
                '<div id="popup_content">' +
                  '<div id="popup_message"></div>' +
                '</div>' +
              '</div>');

            if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);

            // IE6 Fix
            var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 

            $("#popup_container").css({
                position: pos,
                zIndex: 99999,
                padding: 0,
                margin: 0
            });

            $("#popup_title").text(title);
            $("#popup_content").addClass(type);
            $("#popup_message").text(msg);
            $("#popup_message").html( $("#popup_message").text().replace(/\n/g, '<br />') );

            $("#popup_container").css({
                minWidth: $("#popup_container").outerWidth(),
                maxWidth: $("#popup_container").outerWidth()
            });

            $.alerts._reposition();
            $.alerts._maintainPosition(true);

            switch( type ) {
                case 'alert':
                    $("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /></div>');

                    $("#popup_ok").click( function() {
                        $.alerts._hide();
                        callback(true);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_ok").focus().keypress( function(e) {
                        if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');
                    });
                break;
                case 'confirm':
                    $("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
                    $("#popup_ok").click( function() {
                        $.alerts._hide();
                        if( callback ) callback(true);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_cancel").click( function() {
                        $.alerts._hide();
                        if( callback ) callback(false);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_ok").focus();
                    $("#popup_ok, #popup_cancel").keypress( function(e) {
                        if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
                        if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
                    });
                break;
                case 'prompt':
                    $("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
                    $("#popup_prompt").width( $("#popup_message").width() );
                    $("#popup_ok").click( function() {
                        var val = $("#popup_prompt").val();
                        $.alerts._hide();
                        if( callback ) callback( val );
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_cancel").click( function() {
                        $.alerts._hide();
                        if( callback ) callback( null );
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {
                        if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
                        if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
                    });
                    if( value ) $("#popup_prompt").val(value);
                    $("#popup_prompt").focus().select();
                break;
            }

            // Make draggable
            if( $.alerts.draggable ) {
                try {
                    $("#popup_container").draggable({ handle: $("#popup_title") });
                    $("#popup_title").css({ cursor: 'move' });
                } catch(e) { /* requires jQuery UI draggables */ }
            }
        },

        _hide: function() {
            $("#popup_container").remove();
            $.alerts._overlay('hide');
            $.alerts._maintainPosition(false);
        },

        _overlay: function(status) {
            switch( status ) {
                case 'show':
                    $.alerts._overlay('hide');
                    $("BODY").append('<div id="popup_overlay"></div>');
                    $("#popup_overlay").css({
                        position: 'absolute',
                        zIndex: 99998,
                        top: '0px',
                        left: '0px',
                        width: '100%',
                        height: $(document).height(),
                        background: $.alerts.overlayColor,
                        opacity: $.alerts.overlayOpacity
                    });
                break;
                case 'hide':
                    $("#popup_overlay").remove();
                break;
            }
        },

        _reposition: function() {
            var top = (($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset;
            var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset;
            if( top < 0 ) top = 0;
            if( left < 0 ) left = 0;

            // IE6 fix
            if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();

            $("#popup_container").css({
                top: top + 'px',
                left: left + 'px'
            });
            $("#popup_overlay").height( $(document).height() );
        },

        _maintainPosition: function(status) {
            if( $.alerts.repositionOnResize ) {
                switch(status) {
                    case true:
                        $(window).bind('resize', $.alerts._reposition);
                    break;
                    case false:
                        $(window).unbind('resize', $.alerts._reposition);
                    break;
                }
            }
        }

    }

    // Shortuct functions
    jAlert = function(message, title, callback) {
        $.alerts.alert(message, title, callback);
    }

    jConfirm = function(message, title, callback) {
        $.alerts.confirm(message, title, callback);
    };

    jPrompt = function(message, value, title, callback) {
        $.alerts.prompt(message, value, title, callback);
    };

})(jQuery);

The previous answer was partially correct but failed to define the array that holds the multiple alerts ($.alerts.waitingCalls). The code below replaces the entire jquery.alerts.js (the entire package is available at: http://code.google.com/p/jalert-plus/downloads/list )

// jQuery Alert Dialogs Plugin
//
// Version 1.1 (extended)
//
// Cory S.N. LaViska
// A Beautiful Site (http://abeautifulsite.net/)
// 14 May 2009
//
// Mike Walters
// 27 December 2011
// http://code.google.com/p/jalert-plus/downloads/list
//
// Visit http://abeautifulsite.net/notebook/87 for more information
//
// Usage:
//      jAlert( message, [title, callback] )
//      jConfirm( message, [title, callback] )
//      jPrompt( message, [value, title, callback] )
// 
// History:
//
//      1.00 - Released (29 December 2008)
//
//      1.01 - Fixed bug where unbinding would destroy all resize events
//
//      DECEMBER 2011 - added ability to popup multiple alerts (mike walters)
//
// License:
// 
// This plugin is dual-licensed under the GNU General Public License and the MIT License and
// is copyright 2008 A Beautiful Site, LLC. 
//



(function($) {

    $.alerts = {

        // These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time

        verticalOffset: -75,                // vertical offset of the dialog from center screen, in pixels
        horizontalOffset: 0,                // horizontal offset of the dialog from center screen, in pixels/
        repositionOnResize: true,           // re-centers the dialog on window resize
        overlayOpacity: .01,                // transparency level of overlay
        overlayColor: '#FFF',               // base color of overlay
        draggable: true,                    // make the dialogs draggable (requires UI Draggables plugin)
        okButton: ' OK ',         // text for the OK button
        cancelButton: ' Cancel ', // text for the Cancel button
        dialogClass: null,                  // if specified, this class will be applied to all dialogs

        waitingCalls: new Array(),

        raiseNextDialog: function() {
            $.alerts.callIsActive = false;
            if ($.alerts.waitingCalls.length>0) {
                var params = $.alerts.waitingCalls.shift();
                $.alerts._show(params[0], params[1], params[2], params[3], params[4]);
            }
        },

        dialogShallWait: function (title, msg, value, type, callback) {
            if ($.alerts.callIsActive) {

                $.alerts.waitingCalls.push([title, msg, value, type, callback]);
                return true; // can't show now
            } else {
                $.alerts.callIsActive = true;
                return false;
            }
        },


        // Public methods

        alert: function(message, title, callback) {
            if( title == null ) title = 'Alert';
            $.alerts._show(title, message, null, 'alert', function(result) {
                if( callback ) callback(result);
            });
        },

        confirm: function(message, title, callback) {
            if( title == null ) title = 'Confirm';
            $.alerts._show(title, message, null, 'confirm', function(result) {
                if( callback ) callback(result);
            });
        },

        prompt: function(message, value, title, callback) {
            if( title == null ) title = 'Prompt';
            $.alerts._show(title, message, value, 'prompt', function(result) {
                if( callback ) callback(result);
            });
        },

        // Private methods

        _show: function(title, msg, value, type, callback) {


        if ( $.alerts.dialogShallWait(title, msg, value, type, callback) ) return;

            $.alerts._hide();
            $.alerts._overlay('show');

            $("BODY").append(
              '<div id="popup_container">' +
                '<h1 id="popup_title"></h1>' +
                '<div id="popup_content">' +
                  '<div id="popup_message"></div>' +
                '</div>' +
              '</div>');

            if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);

            // IE6 Fix
            var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 

            $("#popup_container").css({
                position: pos,
                zIndex: 99999,
                padding: 0,
                margin: 0
            });

            $("#popup_title").text(title);
            $("#popup_content").addClass(type);
            $("#popup_message").text(msg);
            $("#popup_message").html( $("#popup_message").text().replace(/\n/g, '<br />') );

            $("#popup_container").css({
                minWidth: $("#popup_container").outerWidth(),
                maxWidth: $("#popup_container").outerWidth()
            });

            $.alerts._reposition();
            $.alerts._maintainPosition(true);

            switch( type ) {
                case 'alert':
                    $("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /></div>');

                    $("#popup_ok").click( function() {
                        $.alerts._hide();
                        callback(true);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_ok").focus().keypress( function(e) {
                        if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');
                    });
                break;
                case 'confirm':
                    $("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
                    $("#popup_ok").click( function() {
                        $.alerts._hide();
                        if( callback ) callback(true);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_cancel").click( function() {
                        $.alerts._hide();
                        if( callback ) callback(false);
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_ok").focus();
                    $("#popup_ok, #popup_cancel").keypress( function(e) {
                        if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
                        if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
                    });
                break;
                case 'prompt':
                    $("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
                    $("#popup_prompt").width( $("#popup_message").width() );
                    $("#popup_ok").click( function() {
                        var val = $("#popup_prompt").val();
                        $.alerts._hide();
                        if( callback ) callback( val );
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_cancel").click( function() {
                        $.alerts._hide();
                        if( callback ) callback( null );
                        $.alerts.raiseNextDialog();
                    });
                    $("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {
                        if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
                        if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
                    });
                    if( value ) $("#popup_prompt").val(value);
                    $("#popup_prompt").focus().select();
                break;
            }

            // Make draggable
            if( $.alerts.draggable ) {
                try {
                    $("#popup_container").draggable({ handle: $("#popup_title") });
                    $("#popup_title").css({ cursor: 'move' });
                } catch(e) { /* requires jQuery UI draggables */ }
            }
        },

        _hide: function() {
            $("#popup_container").remove();
            $.alerts._overlay('hide');
            $.alerts._maintainPosition(false);
        },

        _overlay: function(status) {
            switch( status ) {
                case 'show':
                    $.alerts._overlay('hide');
                    $("BODY").append('<div id="popup_overlay"></div>');
                    $("#popup_overlay").css({
                        position: 'absolute',
                        zIndex: 99998,
                        top: '0px',
                        left: '0px',
                        width: '100%',
                        height: $(document).height(),
                        background: $.alerts.overlayColor,
                        opacity: $.alerts.overlayOpacity
                    });
                break;
                case 'hide':
                    $("#popup_overlay").remove();
                break;
            }
        },

        _reposition: function() {
            var top = (($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset;
            var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset;
            if( top < 0 ) top = 0;
            if( left < 0 ) left = 0;

            // IE6 fix
            if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();

            $("#popup_container").css({
                top: top + 'px',
                left: left + 'px'
            });
            $("#popup_overlay").height( $(document).height() );
        },

        _maintainPosition: function(status) {
            if( $.alerts.repositionOnResize ) {
                switch(status) {
                    case true:
                        $(window).bind('resize', $.alerts._reposition);
                    break;
                    case false:
                        $(window).unbind('resize', $.alerts._reposition);
                    break;
                }
            }
        }

    }

    // Shortuct functions
    jAlert = function(message, title, callback) {
        $.alerts.alert(message, title, callback);
    }

    jConfirm = function(message, title, callback) {
        $.alerts.confirm(message, title, callback);
    };

    jPrompt = function(message, value, title, callback) {
        $.alerts.prompt(message, value, title, callback);
    };

})(jQuery);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文