2011-10-03 3 views
3

Est-il possible d'empêcher la fermeture de la boîte de couleurs? J'utilise comme un écran de chargement pour un script de traitement côté serveur et je ne veux pas qu'il soit fermé jusqu'à la fin.Empêche la fermeture de l'instance de colorbox

$(function(){ 
    $("#songPayBtn").click(function() { 

     $("#ccResultDiv").show(); 

$.fn.colorbox({width:"50%", 
    height:"50%", 
    inline:true, 
    href:"#ccResultDiv", 
    onClosed:function(){ <?php echo "window.location = \"http://rt.ja.com/trackdownload.php?trackid=" . $_SESSION['trackid'] . "\"";?> } 
}); 

Répondre

5

C'est en effet. From the author himself, vous redéfinissez la méthode close avant tout est initialisé:

$.fn.colorbox.close = function(){}; 

Il est très clair que cela doit se produire avant que la fonction $(document).ready() car il est au cours de ce qui colorbox prendra soin d'attribuer sa méthode à proximité des éléments et des événements.

+2

Cela ne doit plus être fait avant DOM prêt, il peut être fait à tout moment. Mais c'était exactement la bonne chose à faire. – Jack

+0

@Jack merci et j'apprécie le travail que vous avez fait sur ce plugin. Certainement m'a aidé sur quelques projets. – Pat

+0

Le lien est rompu. – usandfriends

4

Vous pouvez empêcher votre colorbox de se fermer et cacher le bouton de fermeture en ajoutant ces options:

$("#myColorbox").colorbox({ 
    escKey: false, //escape key will not close 
    overlayClose: false, //clicking background will not close 
    closeButton: false // hide the close button 
}); 

Cela vous permettra également d'utiliser encore la méthode $.colorbox.close() lorsque vous êtes prêt à fermer votre colorbox.

+1

Il semblerait également à partir des docs qu'il existe un paramètre pour masquer le bouton de fermeture - closeButton: false, – mjr

+0

@mjr, vous avez raison! Je ne l'ai pas utilisé moi-même pendant un moment. Super, merci d'avoir signalé la mise à jour! – Donamite

Questions connexes