Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wywołanie metody klasy z eventu onClick
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Yorki
Witam, mam jeszcze jedno pytanie. Jak poprawnie zapisać klasę i wywołać jej metodę w evencie onClick?

Dla przykładu chciałbym zrobić coś takiego:
  1. <a href="java script:void()" class="forget" onClick="Pass.forget()">Zapomniałeś hasła?</a>


Oraz klasa:
Kod
function Pass(){
    this.forget = function(){
        alert('too bad');
    }
}


Dostaje komunikat, że obiekt Pass nie posiada metody forget.
droslaw
Masz taki komuniakt bo nie utworzyłeś obiektu.
Kod
p = new P();

i:
Kod
onClick="p.forget()

będzie działać. Nie możesz wywołać metody bezpośrednio przez konstruktor.
Chyba że w takim przypadku:
Kod
function Pass(){
}
Pass.forget = function(){
        alert('too bad');
}
kamil4u
Albo skorzystaj z JSON-a:
Kod
var myLib = {
'funkcja1': function(){ .... },
'funkcja2': function(){ .... },
'funkcja3': function(){ .... },
};


I w kodzie wystarczy wtedy zwykłe: myLib.funkcja2();
krowal
Cytat(kamil4u @ 14.02.2012, 22:07:50 ) *
Albo skorzystaj z JSON-a:
Kod
var myLib = {
'funkcja1': function(){ .... },
'funkcja2': function(){ .... },
'funkcja3': function(){ .... },
};


I w kodzie wystarczy wtedy zwykłe: myLib.funkcja2();

Wszystko fajnie, tylko że to nie JSON a zwykły obiekt JS smile.gif
kamil4u
Taki zapis( w formie JSON-u ) tworzy obiekt JS i dokładnie o to mi chodziło. Z tego co wiem to JSON to JavaScript Object Notation smile.gif Dla mnie to się rozumie samo przez siebie, ale jak z takich "kruczków" teoretycznych słaby jestem, więc nie chcę się kłócić i może się mylę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.