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.