Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odwolanie sie do obiektu 'rodzica'
thornag
post
Post #1





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Witam.

Mam taki oto kod.

  1. <?php
  2. this.oDebug = document.getElementById('debug');  
  3.  
  4. this.sDragableClassName = 'drag';
  5.  
  6. alert(this.oDebug);
  7.  
  8. this.OnMouseDown = function(oElement) {
  9. if (oElement == null) { 
  10. oElement = window.event;
  11. }
  12.  
  13. alert('przed');
  14.  
  15. var oTarget = oElement.target != null ? oElement.target : oElement.srcElement;
  16.  
  17. alert('po');
  18.  
  19. alert(this.oDebug);
  20. ?>


Wlasciwosc oDebud przechowuje mi diva, chcialbym sie do niego odwolac z metody obiektu, jednak jak zdazylem zauwazyc uzywanie slowa kluczowego this. nie odnosci skutku gdyz this dla metody jest juz odwolaniem do metody samej w sobie. Efekt tego taki ze pierwszy alert podaje mi prawidlowo diva drugi juz niestety undefined.

Stad pytanie, w jaki sposob moge sie odwolac do wlasciwosci 'klasy/obiektu' (jesli mozna to tak nazwac) z metody owego obiektu/klasy ?

Calosc znajduje sie tutaj

Ten post edytował thornag 25.01.2007, 14:06:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thornag
post
Post #2





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Bb dla php uzylem bo koloruje przynajmniej keywordy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Co do problemu.

Ja nie tworze tej metody dla diva. Mam sobie obiekt DragAndDrop, i on ma wlasiwosc oDebug (czyli ten Div), w srodku metody OnMouseDown chce sobie to tylko zdebugowac. Pozatym nie tylko o to chodzi. DragAndDrop ma tez wlasciwosc this.DragableClassName, i w metodzie OnMouseDown chce skorzystac z tej wlasciwosci poprzez this.DragableClassName - undefined. Stad wniosek ze w OnMouseDown uzycie this. wskazuje juz na OnMouseDown, co smieszne w innym skrypcie tez tak robilem i dziala (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) /

Z Twojej odpowiedzi nie potrafie niestety wyciagnac informacji niezbednej do naprawienia kodu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Moze postaram sie jeszcze prosty przyklad podac.

Kod
function A() {
  this.Property = 'string';

  this.Method = function(element) {
        var target = element.target;
        if(target.className == this.property) return true;
        return false;
  }

  document.onmousedown = this.Method;
}


teraz kiedy stworze diva z klasa string to przy kliknieciu nigdy nie zwroci mi to true poniewaz wewnatrz metody Method this.property ma wartosc undefined.

Troche to zamotane ze mnie jest z tymi kontenerami. Jakbym mogl prosic jeszcze raz jak do dziecka albo jakis dobry tutorial (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował thornag 25.01.2007, 14:34:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 07:12