[Javascript] Dynamiczne Renderowanie HTML & funkcje

Odpowiedz Nowy wątek
2009-08-27 12:42
0

Witam
Wie ktos moze jak w renderowanym html przekazac wskaznik na funkcje wywolywana w onclick dla metody klasy renderujacej?

Mam pewna klase tworzona w taki sposob: (przyklad mocno uproszczony)

function PotrzebnaKontrolka() {
    this.atrybut1= null,
    this.MojaMetoda = function() { ... },
    this.Renderuj = function() {
        document.getElementById('costam').innerHTML = '<div onclick=' + ? + '>';
    }
}

Chcialbym w miejsce znaku zapytania umiescic odwolanie do MojaMetoda() ale konkretnej instancji tej klasy, ktora wywoluje akurat metode Renderuj. (MojaMetoda korzysta z atrybut1, ktory jest ustawiany przy tworzeniu tej klasy na stronie (a ich pare roznych bedzie).


Senior Full Stack Developer .NET & Angular

Pozostało 580 znaków

2009-08-27 16:47
0

Czy chodzi Ci o coś takiego?

<div id="costam">Cośtam</div>
<script>
function PotrzebnaKontrolka() {
    this.MojaMetoda = function() { alert('MojaMetoda'); },
    this.Renderuj = function() {
        var thisObj = this;
        var div = document.createElement('div');
        div.innerHTML = 'to jest nowy div';
        div.onclick = function() {
            thisObj.MojaMetoda();
        }
        document.getElementById('costam').appendChild(div);
    }
}
(new PotrzebnaKontrolka()).Renderuj();
</script>

Pozostało 580 znaków

2009-08-28 10:56
0

Nie do konca ale ostatecznie doszedlem wlasnie do czegos takiego jak Ty.
Blad jaki popelnilem to wlasnie renderowanie elementu poprzez wpierw stworzeniu jego jako stringa i przypisanie do innerHTML... a robiac to poprzez DOM'a pieknie zalatwia mi to sprawe i nie mam tego problemu :)

Ale dzieki wielkie za pomoc :)


Senior Full Stack Developer .NET & Angular

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0