如何将元素位置传递给jquery UI对话框

我有一个元素列表,当点击每个元素时,我希望我的jQueryUI对话框在单击的列表元素旁边弹出。

$( "#selector" ).dialog({ draggable: false, width: 250, autoOpen: false, position: [e.pageX,e.pageY] }); $(".openDialog").click(function(e){ console.log('I need the cooridnates x:'+e.pageX+' and y:'+e.pageY+'to be passed to the dialog box'); $( "#selector" ).dialog("open"); }); 

我可以得到我需要的坐标,但是我无法将它们传递给对话框init。

希望对此有所了解。

提前致谢!

由于您希望显示单击元素旁边的对话框,因此您应该推迟设置对话框的位置,直到该信息可用,即在您的事件处理程序中:

 $("#selector").dialog({ draggable: false, width: 250, autoOpen: false }); $(".openDialog").click(function(e) { $("#selector").dialog("option", "position", [e.pageX, e.pageY]) .dialog("open"); }); 

在再次显示对话框之前,请尝试:

 $("#selector").dialog("option", "position", [e.pageX, e.pageY]);