Das Prinzip beruht jetzt einfach darauf den Dialog mit verschiedenen Parametern zu starten, im Click-Event des Elementes. Damit steht die Variable event zur Verfügung. Mit offset kann ein einzusätzlicher Abstand zum Mauszeiger erzwungen werden.
<input id="testBtn" type="button" value="Click Me!" onclick="jQuery("#testDiv").dialog( { modal:true, width: 500, autoOpen: true, position: { my: 'left top', at: 'right bottom', of: event, offset: '20 20' } } ); " />
Es ist ebenso möglich ein Element zu binden:
jQuery("#testBtn").click(function(event){ jQuery("#testInhalt").dialog({ modal:true, width: 500, autoOpen: true}); jQuery("#testInhalt").dialog("option", "position", { my: "left top", at: "right bottom", of: event, offset: "20 20" }); });
In diesem Beispiel wird der Button gebunden und das Dialog-Fenster angewiesen sich beim Click zu öffnen. Wird der Dialog initialisiert, bevor geklickt wird, kümmert sich jQuery UI auch noch darum das Element zu verstecken (display:none). Dann muss aber autoOpen auf false gesetzt werden 🙂