2010-07-23 7 views
12

Ich habe ein einfaches Popup (nicht ein Iframe), wo ein Benutzer Mail senden kann. Es gibt eine Senden-Schaltfläche zum Senden der Informationen und eine Abbrechen-Schaltfläche, die das Overlay schließen sollte.Closing Colorbox

Ich habe einige Probleme, die Schließen-Taste zu arbeiten.

Der Code sieht wie folgt aus:

<asp:Button runat="server" ID="btnCancel" Text="Cancel" /> 

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#<%= btnCancel.ClientID %>").click(function() { 
      jQuery.colorbox.close(); return false; 
     }); 
    }); 
</script> 

Ich habe versucht, mit beiden parent.jQuery.colorbox.close(), jQuery.fn.colorbox.close(), aber ohne Erfolg.

Antwort

1

Ich fand heraus, dass ich jQuery und colorbox zweimal wurde hinzugefügt, da sie sowohl in dem Rahmen und dem auf der Seite calling colorbox geladen wurde.

Es funktionierte, nachdem ich jQuery und Colorbox von der Overlay-Seite entfernt, so dass es nur enthalten wurde.

Ich benutzte 'Sushil Bharwani' Idee und führte das enge Ereignis aus.

+4

sollten Sie sushil bharwanis Antwort dann akzeptieren. –

+0

Ja, akzeptiere @sushil bharwanis Antwort. Sie sind es, die etwas arbeiten und Ihnen die Antwort geben. –

29

Hat Ihre Farbbox einen Schließknopf oben? [schließen]. In meiner Anwendung, wenn ich einen Abbrechen-Button einführen möchte, um das Colorbox-Fenster von einem anderen als dem von colorbox bereitgestellten Link zu schließen.

Ich mache einen Workaround wie.

jQuery('#cboxClose').click(); 

Dies wird auf die Standard-Schaltfläche zum Schließen klicken und wird schließlich die Farbbox schließen.

+0

Ich habe eine Box unten mit der ID 'cboxClose', und ich mochte die Idee, aber es hat nicht funktioniert. – Dofs

+0

können Sie mir sagen, was genau Sie getan haben. Ich habe diese Farbbox schon seit einiger Zeit geschlossen. Und habe es extensilely verwendet können Sie etwas Code zeigen. –

+1

Ich ersetzte 'jQuery.colorbox.close();' mit 'jQuery (' # cboxClose '). click();' – Dofs

0

Versuchen Sie

$.fn.colorbox.close(); 

statt

jQuery.colorbox.close(); 

zu benutzen?

Vielleicht hast du das schon:

$("#cboxClose").click(function(){ 
     $.fn.colorbox.close();}); 

Sie müssen nicht das Problem haben die colorbox beim Schließen. Eigentlich habe ich auch eine Farbbox in einer App mit einer Abbrechen-Schaltfläche und der Schließen-Schaltfläche, die wie ein Bild aussieht. Es gibt überhaupt kein Problem.

+0

Ja, und es hat nicht funktioniert. – Dofs

13

können Sie verwenden:

$(window).colorbox.close(); 
+0

Es hat nicht funktioniert. – Dofs

+0

funktionierte für mich zum Glück –

+1

Noch kürzer: '$(). Colorbox.close();'. – Alex

0

Ich denke, Sie vermissen oder Fehler kleine Sache in Ihrem Code. Andernfalls funktioniert die Methode close wie erwartet. Haben Sie zuerst überprüft, ob Ihr Button auf Feuer klickt oder nicht? Wenn Feuer, haben Sie einen JS-Fehler?

7

Bitte versuchen Sie es.

 <script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { 
     /* Automatically resize to content */ 
     var y = $(document.body).height(); 
     var x = $(document).width(); 
     parent.$.colorbox.resize({innerWidth:x, innerHeight:y}); 

     $("#button_cancel").click(function() { 
      parent.$.colorbox.close(); 
      return false; 
     }) 
    }); 

Für Schaltfläche auf Ihrer Iframe HTML-Seite.

<button id="button_cancel" type="button">cancel</button> 
1
$(".selected_color").live('click',function(){ 

    $(window).colorbox.close(); 
}); 

Live verwenden arbeiten

0

Dies kann jemand .I helfen, eine benutzerdefinierte Schließen-Schaltfläche erstellt haben. Meine benutzerdefinierte Schließen-Schaltfläche wird oben rechts angezeigt und kann auch schließen. Mein Code:

 jQuery(document).ready(function(){ 
     jQuery('<div id="close" style="cursor: pointer; position: absolute; top: 0; right: 30px;"><img src="../img/close.png" alt="close"/></div>').appendTo('.yourparentDiv'); 

     $("#close").click(function() { 
      jQuery('#cboxClose').click(); 
     }); 
    }); 

Dank Bharwani @sushil, war ich vor Problem der colorbox beim Schließen. Es hat mir geholfen.