Například při vytváření Ajaxu pro čtení seznamu zpráv je za každou zprávou tlačítko odpověď, třída je "reply", pokud použijete $(".reply").click(function(){ //do something... }), pravděpodobně tlačítko odpověď v seznamu načteném Ajaxem později, událost kliknutí bude neplatná. Ve skutečnosti je nejjednodušší napsat onclick="" přímo do tagu, ale napsat to je vlastně trochu málo a nejlepší je přiřadit klikací událost k názvu třídy. Existují dva způsoby, jak vyřešit problém, že dynamicky přidávané prvky v jquery nemohou spustit události, a to následovně: Pro lepší prezentaci řekněme, že máte kód s následující strukturou pod tělem určité stránky:
Metoda 1: Používejte živě Funkce live() přiřadí jeden nebo více obslužníků událostí k vybranému prvku a určuje, které funkce mají být spuštěny, když k těmto událostem dojde. Funkce live() se používá pro porovnání aktuálních a budoucích prvků voliče. Například prvky vytvářené dynamicky pomocí skriptů. Implementace je následující:
Metoda 2: Použití Událost můžete navázat na její rodiče nebo tělo metodou zapnutou, následovně:
Teď můžete zkusit zjistit, jestli byl problém vyřešen, doufám, že vám tento článek opravdu pomůže.
Druhá, kterou používám, je přiřazení prvku na úrovni rodiče...
|