Autor Zpráva
motorcb
Profil
Mám odkazy v html: <a class="up">UP</a> | <a class="down">DOWN</a>

Kde po kliknu zobrazím alert. To je OK :-)

Po přidání stejných odkazů: $( 'div#my-form-div' ).append( '<a class="up">UP</a> | <a class="down">DOWN</a><br/>' );
na tyto odkazy alert nefunguje.

Poradí někdo proč?

http://jsfiddle.net/q9GaB/2/
juriad
Profil
Protože řádek:
$( ".up" ).click( function() {
znamená: najdi všechny elementy s třídou up a nastav jim posluchače při kliknutí.
Ale to nemůže fungovat na elementy vytvořené později. Ty v době volání tohoto příkazu neexistovaly.

Řešením je nastavit posluchač třeba body (ten vždy existuje, obecně stačí libovolný předek); Toto bude reagovat při kliknutí kamkoli; napřed zkontroluje, zda bylo ve skutečnosti kliknuto na něco s třídou .up a v takovém případě se provede akce.
$( "body" ).on( "click", ".up", function() {

Přečti si dokumentaci: http://api.jquery.com/on/

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0