Следуя примеру Джеймина, я придумал, как разместить элемент пользовательского диалога jQuery над элементом, который вы только что нажали (подумайте «речевой пузырь»):
$('#myDialog').dialog( 'open' );
var myDialogX = $(this).position().left - $(this).outerWidth();
var myDialogY = $(this).position().top - ( $(document).scrollTop() + $('.ui-dialog').outerHeight() );
$('#myDialog').dialog( 'option', 'position', [myDialogX, myDialogY] );
Обратите внимание, что я "открываю" элемент ui-dialog перед вычислением относительной ширины и смещений высоты. Это связано с тем, что jQuery не может оценить externalWidth () или outerHeight () без элемента ui-dialog, физически отображаемого на странице.
Просто убедитесь, что в ваших настройках диалогового окна установлено значение «модальный», и у вас должно получиться «ОК».