Ajax i wyświetlenie elementu w odpowiednim miejscu na ekranie

0

Hej, mam taką sytuację. Dla uproszczenia powiedzmy, że mam na stronie dwie kolumny. Lewą i prawą. W lewej są jakieś elementy, które po kliknięciu, wczytują ajaxem zawartość do kolumny prawej.

I teraz tak, jeśli kliknę na element w lewej kolumnie prawym klawiszem myszy, to pokaże mi się menu kontekstowe w dobrym miejscu:

 $("body").on("contextmenu", selector, function (e) {
        var top = e.originalEvent.y;
        var left = e.originalEvent.x;
//i inne duperele
}

Ale jeśli kliknę prawym klawiszem myszy na element w prawej kolumnie (zaczytany ajaxem), menu pokaże się jakby z dodanym offsetem od miejsca, w którym zaczyna się prawa kolumna.

Jak teraz dojść do tego offsetu? Zaznaczam, że elementy zaczytywane ajaxem mają różne struktury i coś w rodzaju:
e.targetElement.parent.parent.parent nie wchodzi w grę.
Mógłbym nadać id divovi, do którego ląduje ajax i wtedy robić tak:

var ajaxDiv = $("ajaxDiv");
var offsetX = ajaxDiv.offsetLeft;
//itd

Ale wtedy rodzi się drugie pytanie. Skąd mam wiedzieć, czy odjąć ten offset, czy nie? Innymi słowy, czy użytkownik kliknął na elementy z prawej, czy lewej kolumny?

1

A to menu kontekstowe ma być powiązane

  • z położeniem klikanego elementu?
    w takim wypadku nie łap współrzędnych myszy tylko czytaj położenie klikniętego elementu (i powinno pomóc również na twój problem),
  • z położeniem myszy
    w takim wypadku czytaj współrzędne kliknięcia względem ekranu i przekaż je wyświetlanemu menu, któremu ustaw: position:fixed.

1 użytkowników online, w tym zalogowanych: 0, gości: 1