Współrzędne kliknięcia na elemencie DOM

0

Witam.
Mam takich kilka do których podpiąłem:

<tr onclick="f_selected(this)"  ....

W przekazanym obiekcie nie ma nic o miejscu wystąpienia kliknięcia. Więc wewnątrz f_selected() zastosowałem dodatkową funkcję. Jest ona "anonimowa" i mam problem z wykorzystaniem danych z niej w otaczającym programie.

    var cX;
    var cY;
    document.onmousemove = function(event){
    cX = event.pageX;
    cY = event.pageY;
   console.log(cX,cY); // Mam wsp.
}
 console.log(cX,cY); // Nie mam wsp.

Jak uzyskać współrzędne?

Pozdrawiam
Radosław Głębicki

1

Jeżeli to cały skrypt, to console.log() z 8 linijki wykonuje się przy uruchomieniu strony, więc sprawdź, czy po wejściu na stronę nie rzuca Ci od razu 2x undefined. Element, który został kliknięty możesz pobrać przez event.target.

0

Całość tak wygląda. Oczywiście nie całość całości, ale interesujący mnie fragment.
Ewentualnie jak przez oWhat dobrać się do współrzędnych?


<tr onclick="f_selected(this)"  ....

function f_selected(oWhat) {
   var cX;
   var cY;
   document.onmousemove = function(event) {
   cX = event.pageX;
   cY = event.pageY;
  console.log(cX,cY); // Mam wsp.
  }
console.log(cX,cY); // Nie mam wsp.
}
1
Radosław Głębicki napisał(a):

Ewentualnie jak przez oWhat dobrać się do współrzędnych?

oWhat.pageX

0

Dla potomnych: jak przekazujemy coś przez this: jakaśFunkcja(this) { to wewnątrz mamy wszystko z this i jednocześnie event }
Wielkie dzięki.

Pozdrawiam

1

@Radosław Głębicki: dla ścisłości, o ile zmienna event faktycznie jest globalna to lepiej ją sobie przekazywać ja parametr funkcji. Można sobie oszczędzić tajemniczych bugów, bo jak zaczyna się asynchroniczne rzeczy wewnątrz listenera to ta zmienna globalna zniknie.

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