2017-03-10 4 views
0

Mit benutzerdefinierten jQuery Ui Widget, können Sie Ihre eigenen Callback-Funktionen hinzufügen, indem Sie options an das Plugin übergeben. Wenn ich jedoch einen Rückruf an das Ereignis "generate_img" anhängen und später ein anderes, aber nicht sich gegenseitig ausschließendes Verhalten für das gleiche Widget-Ereignis "generate_img" festlegen möchte, wird das letztere ersetzt, anstatt das vorhandene Verhalten zu ergänzen.Wie kann ich zwei verschiedene Callbacks an ein jQuery UI Widget anhängen?

Gibt es eine Möglichkeit, dieses Problem zu lösen? Vielen Dank.

Antwort

0

Man könnte so etwas wie dieses (unter Verwendung eines Dialog Widget und das Ereignis Before als Beispiel) tun:

function one(){alert("one");} 
function two(){alert("two");} 

$(function() { 
    $("#dialog").dialog(
     {beforeClose: one}  
    ); 

    var original = $("#dialog").dialog("option", "beforeClose"); 
    $("#dialog").dialog("option", "beforeClose", function(){ 
     original(); 
     two(); 
    });  
}); 
+0

Super-intelligente Lösung! Nur noch eine weitere Frage: Denken Sie, dass das Lernen des jQuery 'Promise'-Objekts in dieser Situation verbessert wird und es eleganter macht? Ich plane, dieses Gebiet zu lernen. Vielen Dank. –

+0

Ich weiß es nicht. Lass es mich wissen, wenn du es gelernt hast. :-) – GertG

Verwandte Themen