Autor Zpráva
pperna
Profil *
Ahoj,
mám drobný problém:
Představme si ze mam objekt NECO a v nem metodu METODA a METODA2,koukneme se na ne:

/*objekt*/
function NECO()
{
NECO.prototype.METODA = function (str){
alert(str);
}

NECO.prototype.METODA2 = function (){
var e = document.createElement('obr');
/* TOTO JE DULEZITE */
e.onclick = function (){ this.METODA('LOL'); }
document.body.appendChild(e);

}
}

A tady nastava problem ukazatel this se uvnitr onclick funkce stava
ukazatelem na element e a ne na objekt.Tim padem metoda this.METODA('LOL') neexistuje.
Nelze vsak pouzit ani NECO.METODA('LOL');

Prosim poradte jak k onclick udalosti elementu e priradit metodu objektu
DIKY MOC
pperna
Profil *
*oprava:
var e = document.createElement('obr');
má být :
var e = document.createElement('img');
Fred
Profil
Tomu nerozumím, proč tak složitě? Nestačilo by

function metoda(str){alert(str);}
function metoda2(){
var e=document.createElement('img');
e.onclick=function(){metoda('LOL');}
document.getElementsByTagName('body')[0].appendChild(e);
}}
pperna
Profil *
Mno prave ze ne, chtel bych to mit vse zapouzdrene v jednom objektu.
Opravdu neexistuje zpusob jak to udelat?
izsak
Profil
Udalostné skriptovanie stránok by mohlo pomôcť.
Fred
Profil
pperna No já moc (spíš vůbec) terminologii neumím, možná kdybych věděl co to má dělat?
pperna
Profil *
Jedná se o WYSIWYG HTML editor (Jako Word)
Mám objekt,v něm potřebuji vytvořit menu a mam na to metodu drawMenu.
Ke každému buttonu chci přiřadit při onclick metodu editorCommand(com).
Vim jak to udelat aniz by editorCommand byla vnitřní fce objektu/metoda/
Alepotřebuji znát řešení pro metodu objektu.

Díky
pperna
Profil *
Tak už jsem to vyřešil.

Vše co jsem potřeboval vědět bylo:

e.onclick = function (){self.Editor..METODA('LOL'); }

kde var Editor = new NECO();

Každopádně díky všem přispívajícím :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0