2012-03-28 8 views
0

Ich benutze das folgende, was gut funktioniert. Ich frage mich nur, ob es möglich wäre, die OnClosed außer Kraft zu setzen, nachdem die BoxOverride colorbox onClose

$.colorbox({href:"fff.html", 
    onClosed:function(){ window.parent.location.reload(true); } 
    }); 

geladen Ich weiß, dass ich die Formatfunktion, nachdem das Feld, um die Dimensionen, um die Größe geladen wird verwenden können. Wäre es möglich, die Close-Funktionen ähnlich zu nutzen, um mein Ziel zu erreichen?

Antwort

3

Sie können es genau so, wie Sie versuchen,

$.colorbox({href:"fff.html", 
    onClosed:function(){ 
     //This is your method that triggers onClose 
     // SO go ahead, override it 

     //You can also call multiple function on it like 

     function1(); //call function 1 
     function2(); //call function 2 
    } 
}); 

Alternativ können Sie einen Funktionsnamen an die OnClosed() übergeben zu wie

$.colorbox({href:"fff.html", 
    onClosed: overrideFunction 
}); 

function overrideFunction() { 
    /your overriding function 
} 
1

Obwohl es könnte sauberer Lösungen sein, was Sie tun können, ist

// in the window scope! Can be explicitely set with 
// window.onColorboxClose without var before it. 
var onColorboxClose = function(){ 
}; 

$.colorbox({ 
    href:"fff.html", 
    onClosed:onColorboxClose 
}); 

und dann die Funktion überschreiben danach, anstatt sie als Verschluss zu den Eigenschaften des colorbox vorbei.

0

Eine weitere Arbeit um die außer Kraft gesetzt war, Ereignis schließen, um eine vollständige Kontrolle über die Ereignisbehandlung zu erhalten

var c_close = $.fn.colorbox.close; 
    // Now disable the close function 
    $.fn.colorbox.close = function(){ 

     if(confirm('Are you sure?')){ 
      c_close(); 
     } else { 
      return false; 
     } 
    };