JQueryUI:放置单击鼠标的对话框

时间:2011-08-11 10:06:48

标签: javascript jquery coordinates screen-resolution

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

到目前为止,我有:

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

但由于某些页面滚动问题,这不起作用。我怀疑如果我不必向下滚动页面以获得我点击的id =“something”的元素,它会起作用。 我认为这是因为Y(高度)位置是整个页面位置而不是可视区域。

有没有办法可以抓住可视区域XY合成或计算可视区域的大小,并做一些时髦的数学来纠正页面XY合作?

感谢。

1 个答案:

答案 0 :(得分:6)

试试这个:

$("#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');
});