JQueryUI: поместите диалоговое окно, где щелкают мышью - PullRequest
3 голосов
/ 11 августа 2011

Я хочу разместить диалоговое окно jquery, в котором пользователь нажимает на экран.

На данный момент у меня есть:

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

Но это не работает из-за некоторых проблем с прокруткой страницы.Я подозреваю, что это сработало бы, если бы мне не пришлось прокручивать страницу вниз, чтобы перейти к элементу с id = "что-то", на которое я нажимаю.Я думаю, это потому, что позиция Y (высота) - это позиция всей страницы, а не видимой области.

Есть ли способ либо захватить координаты XY видимой области, либо рассчитать размер видимой областиплощадь и делать какие-то прикольные математические расчеты, чтобы исправить страницу XY co-ords?

Спасибо.

1 Ответ

6 голосов
/ 11 августа 2011

Попробуйте это:

$("#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');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...