jQuery UI dialog - problem mit Ereignis on close
Ich versuche, eine bestimmte Aktion durchzuführen, wenn ich in der Nähe einen jQuery-UI dialog. Hier ist eine vereinfachte version meines Codes:
$('a.open-trigger').click(function(){
var test = 'hello';
$('#dialog').dialog({
bgiframe: true,
dialogClass: 'change',
resizable: false,
draggable: false,
modal: true,
height: 334,
width: 450,
autoOpen: false,
show: 'fade'
});
$('#dialog').dialog('open');
$('a.close-trigger').click(function(){
alert(test);
$('#dialog').dialog('close');
});
});
Als ich das erste mal den dialog zu schließen, bekomme ich die erwartete Warnung mit dem Wort "Hallo". Wenn ich öffnen Sie den dialog ein zweites mal, und schließen Sie es, bekomme ich das "Hallo" Alarm zweimal. Wenn ich öffnen und schließen Sie es ein drittes mal, ich bekomme drei Alarme, und so weiter.
Warum sind diese Warnungen duplizieren sich selbst? Ich möchte die Warnung nur angezeigt, nachdem Sie auf schließen, egal wie viele Male, die ich öffnen/schließen Sie den dialog.
Dank!
Simon
InformationsquelleAutor Simon | 2009-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anfügen zusätzliche event-Handler bei jedem Aufruf
.click
. Deshalb ist es zu duplizieren.Ziehen, dass code, der sich auf der gleichen Ebene wie die andere Veranstaltung verbindlich und es sollte funktionieren wie erwartet.
InformationsquelleAutor geowa4
Haben Sie gebunden, eine Funktion, um die öffnen-Schaltfläche fügt einen Ereignis-handler für die Schaltfläche schließen, jedes mal, wenn das open-Ereignis ausgelöst wird. Sollten Sie Ihre close-Ereignis-handler, irgendwo außerhalb des 'ein.open-trigger' - Ereignis-Funktion...
InformationsquelleAutor Casey Williams
Brauchen Sie, um die Nähe der click-Ereignishandler aus der open-click-Ereignishandler
InformationsquelleAutor Russ Cam