bootbox中的提示弹出窗口没有关闭

时间:2013-11-02 21:07:49

标签: javascript jquery html bootbox

单击“alert3”类的按钮时出现的提示弹出窗口不会关闭。

<a href="#" class="btn btn-primary btn-lg alert3">CLICKMEMEMEMEMEME</a>

这是我正在调用的函数:

<script>

    $(document).on("click", ".alert3", function(e) {
        bootbox.prompt("What is your name?", function(result) {                
            if (result === null) {                                             
                Example.show("Prompt dismissed");                              
            } else {
            Example.show("Hi <b>"+result+"</b>");                          
            }
        });
    });
</script>

2 个答案:

答案 0 :(得分:6)

弹出窗口没有关闭,因为你在回调函数中有一个错误,所以它在bootbox弹出消失之前就会崩溃。

最好的猜测是代码中未定义Example。也许你把它放在Bootbox网站上,他们正在使用一个名为Example的javascript对象。 如果要使用回调函数显示结果,可以将其添加到html:

<a href="#" class="btn btn-primary btn-lg alert3">CLICKMEMEMEMEMEME</a><br/>
<p id='result'></p>

然后更改您的javascript:

<script>
$(document).on("click", ".alert3", function(e) {
    bootbox.prompt("What is your name?", function(result) {
        if (result === null) {
            $('#result').html("Prompt dismissed");
        } else {
            $('#result').html("Hi <b>"+result+"</b>");
        }
    });
});
</script>

答案 1 :(得分:1)

在bootbox.js中提示弹出

这是行不通的,因为没有在那里定义示例函数。我们需要首先使用当前选择器值和与之关联的文本来定义它们。$(&#34;#result&#34;)用于显示错误消息特别是div。

html代码:

  <p>Click here-><a class="alert" href=#>Alert!</a></p><p id='result'</p>

<强>码

var Example = (
function() 
{
"use strict";

var elem,
    hideHandler,
    that = {};

that.init = function(options) {
    elem = $(options.selector);
};
that.show = function(text) {
    clearTimeout(hideHandler);

    $("#result").html(text);
    $("#result").fadeIn();

    hideHandler = setTimeout(function() {
        that.hide();
    }, 4000);
};

that.hide = function() {
    $("#result").fadeOut();
};

return that;
}());