我想将jquery对话框放在用户点击屏幕的位置。
到目前为止,我有:$("#something").click(function(e){
$("#myDialog").dialog( "option", "position", [e.pageX,e.pageY]);
$("#myDialog").dialog('open');
});
但由于某些页面滚动问题,这不起作用。我怀疑如果我不必向下滚动页面以获得我点击的id =“something”的元素,它会起作用。 我认为这是因为Y(高度)位置是整个页面位置而不是可视区域。
有没有办法可以抓住可视区域XY合成或计算可视区域的大小,并做一些时髦的数学来纠正页面XY合作?
感谢。
答案 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');
});