Autor Zpráva
gardener
Profil
Zdravim, chtel bych se zeptat proc kdyz zapisi:
<script type="text/javascript">

$("button").click(function () {
    $("#main_section").hide("slow");
  });    

</script>

V headu a pote je nekde v body pouzit prave tento button, akce se neprovede.
Pokud ale skript uvedu az za definici buttonu, vse funguje, jde to nejak obejit abych si vse mohl includovat v jedom souboru v headu?

Diky za kazdou radu.
Dante85
Profil *
Zkuste :
<script type="text/javascript">
window.addEvent('domready', function() {

 $("button").click(function () {
    $("#main_section").hide("slow");
  });

});
</script>
nightfish
Profil
když už jQuery, tak

$(document).ready(function() {
 $("button").click(function () {
    $("#main_section").hide("slow");
  });
});


jinak důvod je prostý - v okamžiku, kdy je skript v hlavičce spuštěn, nemusí ještě existovat kompletní DOM strom
gardener
Profil
Děkuji za radu.
Chamurappi
Profil
Reaguji na gardenera:
Proč chceš mít skripty zrovna v hlavičce, pokud je zbytek stránky nepotřebuje mít při načítání k dispozici? Brzdí načítání.


Reaguji na nightfisha:
okamžiku, kdy je skript v hlavičce spuštěn, nemusí ještě existovat kompletní DOM strom
„Nemusí“ není přesné, on skutečně neexistuje, protože skript se vyhodnocuje okamžitě.
nightfish
Profil
Chamurappi:
děkuji za upřesnění, zkusím si to do příště zapamatovat
Lopata
Profil
nightfish:
Nebo ještě kratší
$(function () {
$("button").click(function () {
    $("#main_section").hide("slow");
  });
});

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:

Prosím používejte diakritiku a interpunkci.

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

0