2013-11-02 5 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, они используют объект javascript под названием Example. Если вы хотите, чтобы показать результат с вашей функции обратного вызова, вы можете добавить к вашей 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

Prompt всплывающее окно в bootbox.js

Это не работает, потому что функция Example здесь не определена. Нам нужно сначала определить их, используя текущее значение селектора и текст, связанный с ними. Здесь $ («# result») используется для отображения сообщения об ошибке в pa 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; 
}()); 
Смежные вопросы