我想把用户点击的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');
});