hallo Christian,
es wird wahrscheinlich so sein, dass ich Dein problem nicht ganz
verstanden habe ...vermutlich.
idealerweise bildet doch schon die html-dokumenten-strukur (der
DOM-baum) die beziehungen der controls zu- und untereinander ab.
...
...
idealerweise... Wenn man in einem größeren Team arbeitet, weiß ich nicht,
wie jeder einzelne seine Oberflächen strukturiert...
dann sollte dieser zustand verbesserung erfahren.
... Ich will ja nicht auch nicht alle Elemente eines Typs disablen sondern
die, die logisch zu einer Gruppe gehören.Habe noch rumprobiert, mit den Literalen und habe folgendes festgestellt:
function MyBase()
{
this.Reset = function()
{
alert(this);
};
}var Controls =
{
constructor: MyBase,
a:1,
UC1:
{
constructor: MyBase,
b: 1,
UC2:
{
constructor: MyBase,
c:1
}
}
};Controls.constructor();
Controls.UC1.constructor();
Controls.UC1.UC2.constructor();Controls.UC1.UC2.Reset();
>
> Das geht :-) !
schon, aber Du musst fuer dieses ergebnis nicht unbedingt den [constructor]
zu einer art expliziet aufzurufender \*super\* methode umbiegen, nur um den
[this]-kontext fuer jedes objektliteral herzustellen - das gleiche resultat
laesst sich einfacher auch ohne [constructor]-eigenschaft erzielen:
~~~javascript
var provideResetContext = function () {
return (function () {
alert(this + "\n" + ((this.toSource) ? (this.toSource()) : (""))); // [Object.toSource] : geckos only;
});
};
var Controls = {
reset: provideResetContext(),
a: 1,
UC1: {
reset: provideResetContext(),
b: 1,
UC2: {
reset: provideResetContext(),
c:1
}
}
};
Controls.reset();
Controls.UC1.reset();
Controls.UC1.UC2.reset();
lass die folgende zeile mal auf die JavaScript-konsole eines mozillas los:
var provideResetContext = function () {return (function () {alert(this + "\n" + ((this.toSource) ? (this.toSource()) : ("")));});};var Controls = {reset: provideResetContext(),a: 1,UC1: {reset: provideResetContext(),b: 1,UC2: {reset: provideResetContext(),c:1}}};Controls.reset();Controls.UC1.reset();Controls.UC1.UC2.reset();
so long - peterS. - pseliger@gmx.net
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]