Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobranie obiektu w metodzie wykonywanej w trakcie obslugi zdarzenia
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kalu111
Stawiam juz "nie pierwsze" kroki w JS i postanowiłem swa dotychczasowa wiedzę przelać na kod. I narodziła sie klasa do walidacji pól formularza przy użyciu wzorca dynamicznego prototypu, czyli coś takiego:
  1. var Validate = function(sForm)
  2. {
  3. this.sForm = sForm;
  4. this.aRules = new Array();
  5. this.aVars = new Array();
  6.  
  7. if (typeof Validate.__initialized == "undefined")
  8. {
  9. Validate.prototype.preLoad = function()
  10. {
  11.  
  12. }
  13.  
  14. // pozostale metody
  15.  
  16. Validate.__initialized = true;
  17. }
  18. }
Wzorzec zaczerpnięty z odpowiedniej książki.
Teraz powiedzmy mamy metodę np.
  1. Validate.prototype.init = function() {}
która jest wywoływana tylko za pośrednictwem
  1. addEventListener(window, 'load', obj.init)
No i jak wiadomo w tej funkcji wskaźnik this już nie wskazuje na obiekt Validate, ale na obiekt, który wywołuje obsługę zdarzenia (chyba sie nie mylę), ale w każdym bądź razie w tym momencie nie mam dostępu do atrybutów i ich wartości, czyli this.sForm, this.aRules itp.
W jaki sposób mogę pobrać referencje do mego obiektu w tej metodzie, i czy w ogóle da się do wykonać?
l0co
Spróbuj tak:
Kod
window.onload = function() {obj.init()};
gekon
Nie wiem czy to Ci pomoże, ale daje: http://www.digital-web.com/articles/objectifying_javascript/
zbig
Prawdopodobnie chodzi ci o takie wywolanie
Kod
var myValidate
addEventListener(window, 'load', function(){
       myValidate = new Validate();
       myValidate.init();
       })


Tak powinno zadzialac
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.