JavaScript osztály
Sziasztok!
Adott a következőosztály:Ez miért ezt eredményezi és miért nem ezt [objectHTMLDivElement] ?
■ Adott a következőosztály:
- <script>
- ProbaOsztaly.prototype =
- {
- obj : null,
- Elso : function()
- {
- this.obj = document.getElementById('div');
- this.Masodik();
- },
- Masodik : function()
- {
- alert(this.obj);
- }
- }
- ProbaOsztaly() {}
- var osztaly = new ProbaOsztaly();
- osztaly.Elso(); // null
- </script>
Ez miért ezt eredményezi és
Vagyis miért null-t ír ki?
kis átalakítás
A metódusokat kisbetűvel érdemes írni, csak a konstruktorfüggvényeket szokás nagy kezdőbetűvel, de ez nem olyan nagy hiba.
Az már annál inkább, hogy a függvényt rosszul hoztad létre (lemaradt a function kulcsszó), illetve, hogy ezt egyáltalán azután próbáltad megtenni, hogy a prototípusát már állítgattad (ekkor ugye még nem hoztad létre a ProbaOsztaly objektumot).
osztály tulajdonságok
Probléma
onmousedown
, hanem csakmousedown
, már haaddEventListener
-t nézzük. Viszont amikor a callback függvények meghívódnak, ebben az esetben aDrag
,Move
,Drop
, akkor a this már teljesen más, jelen esetben az az objektum, aki az eseményt elszenvedi. Szóval valahogy meg kell oldanod, hogy tudd, mi az éppen mozgatott DOM elemedhez tartozóProbaOsztaly
, hogy azon tudd végrehajtani az módosításaidat.