我想将jquery对话框放在用户单击屏幕的位置。

到目前为止,我有:

$("#something").click(function(e){
    $("#myDialog").dialog( "option", "position", [e.pageX,e.pageY]);
    $("#myDialog").dialog('open');
});

但这由于某些页面滚动问题而无法正常工作。我怀疑如果我不必向下滚动页面即可到达我单击的id =“something”的元素,那么它将起作用。
我认为这是因为Y(高度)位置是整个页面位置,而不是可见区域。

有没有办法获取可视区域的XY坐标或计算可视区域的大小并进行一些时髦的数学运算以校正页面的XY坐标?

谢谢。

最佳答案

试试这个:

$("#something").click(function(e)
{
    var x =e.pageX -$(document).scrollLeft();
    var y =e.pageY -$(document).scrollTop();
    $("#myDialog").dialog( "option", "position", [x,y]);
    $("#myDialog").dialog('open');
});

关于javascript - JQueryUI:放置对话框,单击鼠标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7024060/

10-09 19:47