Ich habe ein jQuery UI-Dialogfeld, das geöffnet wird, wenn der Benutzer auf eine Schaltfläche klickt, und ich möchte, dass das Dialogfeld in der Nähe der Schaltfläche angezeigt wird. Das ist nicht so schwer, zum Beispiel:Positionselement, aber stellen Sie sicher, dass es immer noch auf dem Bildschirm angezeigt wird
var pos = $('#mybutton').offset();
$('#mydlg').dialog({
// ...
autoOpen: false,
position: [pos.left, pos.top]
});
Das Problem ist, wenn die Schaltfläche auf der rechten Seite des Bildschirms ist, oder am unteren Rand des Bildschirms. Der neu geöffnete Dialog lässt das Fenster scrollen, weil es vom Bildschirm verschwindet.
Wie berechne ich die Position, so dass der Dialog links/oben geöffnet wird, damit er nur in diesen Fällen auf dem Bildschirm angezeigt wird?