2013-11-02 44 views
3

当我点击类'alert3'的按钮时出现的提示弹出不会关闭。在bootbox中提示弹出不关闭

<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> 

回答

5

弹出窗口不会关闭,因为你在回调函数中有一个错误,所以它崩溃之前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> 
+0

谢谢,这帮助! –

1

提示弹出在bootbox.js

这不起作用,因为Example函数没有在那里定义。我们需要先定义它们,使用当前选择器值和与它们相关的文本。这里用$(“#result”)来显示错误信息rticular 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; 
}());