Beste Vorgehensweise:
%Vor%Ich versuche, das Standardverhalten eines modalen jQuery UI-Dialogfelds zu überschreiben, um das Feld zu schließen, wenn auf das Overlay geklickt wird. Der Code, den ich unten habe, schließt das Dialogfeld, nachdem ich es zum ersten Mal geöffnet habe, und klicke auf das Overlay. Wenn ich das Dialogfeld erneut öffne, tut das Klicken auf das Overlay nichts. Ich vermisse eine Veranstaltung hier. Kann jemand darauf hinweisen, was ich hier falsch mache?
Danke!
%Vor% Pauls Lösung funktioniert gut, wenn Sie eine alte Version von jQuery (vor 1.7) verwenden. Jetzt ist .live()
jedoch veraltet. Verwenden Sie stattdessen on()
.
Ich bin mir nicht sicher, warum dein Code nicht funktioniert, aber ich habe ihn genommen, modifiziert und eine Version bekommen, die so funktioniert, wie du und ich wollen:
%Vor%Der Hauptunterschied besteht darin, dass ich Logik zum Schließen von Dialogen an Klicks auf das Überlagerungsobjekt von JQuery binde (anstelle des Dokuments, wie Sie es sind). Und ich mache die Bindung, wenn das Dialogfeld geöffnet wird, und die Bindung, wenn das Dialogfeld geschlossen wird. Nicht wirklich notwendig, aber es hält die Dinge sauber.
Egal, danke für die Inspiration.
Pauls Lösung funktioniert gut, wenn Sie eine alte Version von jQuery (vor 1.7) verwenden. Jetzt ist %code% jedoch veraltet. Verwenden Sie stattdessen %code% .
%Vor%Ich bin mir nicht sicher, warum dein Code nicht funktioniert, aber ich habe ihn genommen, modifiziert und eine Version bekommen, die so funktioniert, wie du und ich wollen:
%Vor%Der Hauptunterschied besteht darin, dass ich Logik zum Schließen von Dialogen an Klicks auf das Überlagerungsobjekt von JQuery binde (anstelle des Dokuments, wie Sie es sind). Und ich mache die Bindung, wenn das Dialogfeld geöffnet wird, und die Bindung, wenn das Dialogfeld geschlossen wird. Nicht wirklich notwendig, aber es hält die Dinge sauber.
Egal, danke für die Inspiration.
Ich versuche, das Standardverhalten eines modalen jQuery UI-Dialogfelds zu überschreiben, um das Feld zu schließen, wenn auf das Overlay geklickt wird. Der Code, den ich unten habe, schließt das Dialogfeld, nachdem ich es zum ersten Mal geöffnet habe, und klicke auf das Overlay. Wenn ich das Dialogfeld erneut öffne, tut das Klicken auf das Overlay nichts. Ich vermisse eine Veranstaltung hier. Kann jemand darauf hinweisen, was ich hier falsch mache?
Danke!
%Vor%Beste Vorgehensweise:
%Vor%Wenn Sie Ihr Beispiel betrachten, sieht es so aus, als würden Sie das Ereignis lösen und es nicht wieder aktivieren.
Versuchen Sie, Ihren Bindungsaufruf zu verschieben:
%Vor%sollte Ihren Unschärfe-Listener jedes Mal neu binden, wenn Ihr Dialog geöffnet wird.
Wenn die Seite wenige Dialoge enthält, können Sie diese universelle Methode verwenden:
%Vor%Einfachster Weg, es zu tun: Ссылка
Fügen Sie Folgendes hinzu:
%Vor%So viele komplizierte Antworten ... hier ist ein einfacher wiederverwendbarer.
%Vor%Dieser Beitrag kann helfen:
Wenn die Seite wenige Dialoge enthält, können Sie diese universelle Methode verwenden:
%Vor%So viele komplizierte Antworten ... hier ist ein einfacher wiederverwendbarer.
%Vor%